这篇文章主要介绍“php怎么返回数组指定键值对”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php怎么返回数组指定键值对”文章能帮助大家解决问题。
array_column()函数
array_column()函数可以提取多维数组中的单列作为一个新数组,我们可以使用它来返回数组中指定键值对。
函数格式:
array array_column(array $input, mixed $column_key, mixed $index_key = null)
参数说明:
$input:需要提取值的多维数组。
$column_key:需要提取的列键名或者索引数字。
$index_key(可选):新数组的键名。
示例:
$arr = array( array('id' => 1, 'name' => 'Tom', 'age' => 20), array('id' => 2, 'name' => 'Jerry', 'age' => 22), array('id' => 3, 'name' => 'Alice', 'age' => 21), ); $new_arr = array_column($arr, 'name', 'id'); print_r($new_arr);
输出结果:
Array ( [1] => Tom [2] => Jerry [3] => Alice )
在上面的示例中,我们使用array_column()函数提取了原数组$arr中每个元素的name作为新数组的值,同时将每个元素的id作为新数组的键名,并返回了结果。
array_filter()函数
array_filter()函数过滤数组中的元素,可以按照指定的条件过滤出符合要求的元素,也可以过滤掉不符合要求的元素。
函数格式:
array array_filter(array $input, callable $callback = null, int $flag = 0)
参数说明:
$input:需要过滤的数组。
$callback(可选):过滤的回调函数。
$flag(可选):过滤的类型。
示例:
$arr = array( array('id' => 1, 'name' => 'Tom', 'age' => 20), array('id' => 2, 'name' => 'Jerry', 'age' => 22), array('id' => 3, 'name' => 'Alice', 'age' => 21), ); $new_arr = array_filter($arr, function($item) { return $item['id'] == 1; }); print_r($new_arr);
输出结果:
Array ( [0] => Array ( [id] => 1 [name] => Tom [age] => 20 ) )
在上面的示例中,我们使用array_filter()函数过滤出$arr数组中id等于1的元素,并将它们返回到一个新数组中。
array_reduce()函数
array_reduce()函数可以对数组中每个元素进行迭代并将它们合并成一个值。
函数格式:
mixed array_reduce(array $input, callable $function, $initial = null)
参数说明:
$input:需要迭代处理的数组。
$function:对每个元素的处理函数。
$initial(可选):初始值。
示例:
$arr = array( array('id' => 1, 'name' => 'Tom', 'age' => 20), array('id' => 2, 'name' => 'Jerry', 'age' => 22), array('id' => 3, 'name' => 'Alice', 'age' => 21), ); $new_arr = array_reduce($arr, function($result, $item) { $result[$item['id']] = $item['name']; return $result; }); print_r($new_arr);
输出结果:
Array ( [1] => Tom [2] => Jerry [3] => Alice )
在上面的示例中,我们使用array_reduce()函数将$arr数组中的每个元素的name和id组成新的键值对,最终返回一个新数组。
关于“php怎么返回数组指定键值对”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。