学习PHP函数如何进行数组排序和过滤
发布时间:2023-07-03 09:38:33
在PHP中,我们可以使用内置的函数来进行数组的排序和过滤。下面将介绍如何使用这些函数。
数组排序:
1. sort() 函数:按升序对数组进行排序,保持索引关联。
示例代码:
$arr = array(5, 2, 8, 3); sort($arr); print_r($arr);
输出结果:
Array ( [0] => 2 [1] => 3 [2] => 5 [3] => 8 )
2. rsort() 函数:按降序对数组进行排序,保持索引关联。
示例代码:
$arr = array(5, 2, 8, 3); rsort($arr); print_r($arr);
输出结果:
Array ( [0] => 8 [1] => 5 [2] => 3 [3] => 2 )
3. asort() 函数:按升序对数组进行排序,保持索引关联。
示例代码:
$arr = array("b" => 5, "a" => 2, "c" => 8, "d" => 3);
asort($arr);
print_r($arr);
输出结果:
Array ( [a] => 2 [b] => 5 [d] => 3 [c] => 8 )
4. arsort() 函数:按降序对数组进行排序,保持索引关联。
示例代码:
$arr = array("b" => 5, "a" => 2, "c" => 8, "d" => 3);
arsort($arr);
print_r($arr);
输出结果:
Array ( [c] => 8 [b] => 5 [d] => 3 [a] => 2 )
数组过滤:
1. array_filter() 函数:使用自定义的回调函数对数组进行过滤,返回满足条件的元素。
示例代码:
$arr = array(1, 2, 3, 4, 5);
$filtered_array = array_filter($arr, function($value) {
return $value > 3;
});
print_r($filtered_array);
输出结果:
Array ( [3] => 4 [4] => 5 )
2. array_unique() 函数:去除数组中的重复值,返回一个新数组。
示例代码:
$arr = array(1, 2, 2, 3, 4, 4, 5); $unique_array = array_unique($arr); print_r($unique_array);
输出结果:
Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 )
3. array_values() 函数:返回一个新数组,其中的键名被重置为连续的整数,值保持不变。
示例代码:
$arr = array("a" => 1, "b" => 2, "c" => 3);
$reindexed_array = array_values($arr);
print_r($reindexed_array);
输出结果:
Array ( [0] => 1 [1] => 2 [2] => 3 )
4. array_map() 函数:将一个或多个数组的每个元素应用回调函数,返回一个新数组。
示例代码:
$arr1 = array(1, 2, 3);
$arr2 = array(4, 5, 6);
$mapped_array = array_map(function($a, $b) {
return $a + $b;
}, $arr1, $arr2);
print_r($mapped_array);
输出结果:
Array ( [0] => 5 [1] => 7 [2] => 9 )
通过上述函数,我们可以方便地进行数组的排序和过滤操作,以满足不同的需求。需要根据具体情况选择合适的函数来操作数组。
