PHP is a commonly used Web programming language, and arrays are one of the most important data types. In PHP, there are many powerful array functions for processing array data, which can greatly improve development efficiency. The following will introduce some commonly used PHP array functions and give some practical application cases.
The array_sort function is used to sort arrays. There are multiple sorting methods available. Here is an example:
function array_sort($arr, $sort_key, $sort_order = SORT_ASC) { if (empty($arr) || !is_array($arr)) { return $arr; } $keys = array_keys($arr); if (!is_numeric($sort_key)) { $sort_key_arr = array(); foreach ($keys as $k) { $sort_key_arr[$k] = $arr[$k][$sort_key]; } $sort_key = $sort_key_arr; } array_multisort($sort_key, $sort_order, $keys); $sorted_arr = array(); foreach ($keys as $k) { $sorted_arr[$k] = $arr[$k]; } return $sorted_arr; }
The arguments to this function are an array, a key to sort by, and a sort order (default is ascending).
Application case: Sort a multi-dimensional array according to a certain key value.
$students = array( array('name' => 'Mike', 'score' => 80), array('name' => 'John', 'score' => 90), array('name' => 'Alice', 'score' => 70) ); $students_sorted = array_sort($students, 'score', SORT_DESC); print_r($students_sorted);
Output result:
Array ( [1] => Array ( [name] => John [score] => 90 ) [0] => Array ( [name] => Mike [score] => 80 ) [2] => Array ( [name] => Alice [score] => 70 ) )
array_filter function is used to filter elements in the array according to specified conditions, and you can customize the filtering rules. The following is an example:
function array_filter_custom($arr, $func) { if (empty($arr) || !is_array($arr)) { return $arr; } $result = array(); foreach ($arr as $key => $value) { if ($func($value, $key)) { $result[$key] = $value; } } return $result; }
The parameters of this function are an array and a custom callback function. The callback function returns a bool value, which is used to determine whether the current element needs to be retained.
Application case: filter even numbers in an array.
$numbers = array(1, 2, 3, 4, 5, 6, 7, 8); $even_numbers = array_filter_custom($numbers, function($value) { return $value % 2 == 0; }); print_r($even_numbers);
Output result:
Array ( [1] => 2 [3] => 4 [5] => 6 [7] => 8 )
array_map function is used to apply a callback function to each element in the array and return a new array. The following is an example:
function array_map_custom($arr, $func) { if (empty($arr) || !is_array($arr)) { return $arr; } $result = array(); foreach ($arr as $key => $value) { $result[$key] = $func($value); } return $result; }
The parameters of this function are an array and a custom callback function. The callback function should accept one parameter and return the converted value.
Application case: Convert strings in an array to uppercase.
$strings = array('hello', 'world', 'php'); $strings_upper = array_map_custom($strings, function($value) { return strtoupper($value); }); print_r($strings_upper);
Output result:
Array ( [0] => HELLO [1] => WORLD [2] => PHP )
array_reduce function is used to apply a callback function to each element in the array one by one, and finally returns A reduced value. Here is an example:
function array_reduce_custom($arr, $func, $initial = null) { if (empty($arr) || !is_array($arr)) { return $initial; } $result = $initial; foreach ($arr as $value) { $result = $func($result, $value); } return $result; }
The parameters of this function are an array, a custom callback function, and an optional initial value.
Application case: Add all the values in an array.
$numbers = array(1, 2, 3, 4, 5); $sum = array_reduce_custom($numbers, function($carry, $item) { return $carry + $item; }); echo $sum;
Output results:
15
Through these practical application cases, you can better understand the use of PHP array functions, thereby processing array data more conveniently during the programming process.
The above is the detailed content of PHP array function application case. For more information, please follow other related articles on the PHP Chinese website!