使用 array_map() 应用函数到数组的每个元素。
$numbers = [1, 2, 3, 4, 5];
$squares = array_map(function($number) {
return $number * $number;
}, $numbers);
// $squares = [1, 4, 9, 16, 25]
使用 array_filter() 过滤数组中的元素。
$numbers = [1, 2, 3, 4, 5];
$oddNumbers = array_filter($numbers, function($number) {
return $number % 2 !== 0;
});
// $oddNumbers = [1, 3, 5]
使用 array_reduce() 将数组减少到单一的返回值。
$numbers = [1, 2, 3, 4, 5];
$sum = array_reduce($numbers, function($carry, $number) {
return $carry + $number;
}, 0);
// $sum = 15
使用 list() 和 each() 交替赋值数组的键和值。
$array = ['a' => 'apple', 'b' => 'banana'];
reset($array); // 确保数组指针位于第一个元素
while (list($key, $value) = each($array)) {
echo "Key: $key; Value: $value\n";
}
// 输出:
// Key: a; Value: apple
// Key: b; Value: banana
使用 array_keys() 获取所有的键,或 array_values() 获取所有的值。
$array = ['a' => 'apple', 'b' => 'banana'];
$keys = array_keys($array);
// $keys = ['a', 'b']
$values = array_values($array);
// $values = ['apple', 'banana']
使用 array_flip() 交换数组的键和值。
$array = ['a' => 'apple', 'b' => 'banana'];
$flipped = array_flip($array);
// $flipped = ['apple' => 'a', 'banana' => 'b']
使用 array_walk() 对数组中的每个元素应用回调函数。
$numbers = [1, 2, 3, 4, 5];
array_walk($numbers, function(&$number, $key) {
$number = $number * $number;
});
// $numbers = [1, 4, 9, 16, 25]
使用 array_search() 查找键或值。
$array = ['a' => 'apple', 'b' => 'banana'];
$key = array_search('banana', $array);
// $key = 'b'
多维数组排序
$students = array(
array("name" => "Alice", "age" => 20),
array("name" => "Bob", "age" => 22),
array("name" => "Charlie", "age" => 18)
);
// 需要排序的子数组的键名
$age = array_column($students, 'age');
// 根据年龄排序
array_multisort($age, SORT_ASC, $students);
// 打印排序后的多维数组
print_r($students);
标签:数组,number,numbers,巧计,array,php,奇淫,banana,apple
From: https://www.cnblogs.com/qcy-blog/p/18157234