php怎么返回数组指定键值对


这篇文章主要介绍“php怎么返回数组指定键值对”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php怎么返回数组指定键值对”文章能帮助大家解决问题。

  1. array_column()函数

array_column()函数可以提取多维数组中的单列作为一个新数组,我们可以使用它来返回数组中指定键值对。

函数格式:

arrayarray_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作为新数组的键名,并返回了结果。

  1. array_filter()函数

array_filter()函数过滤数组中的元素,可以按照指定的条件过滤出符合要求的元素,也可以过滤掉不符合要求的元素。

函数格式:

arrayarray_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的元素,并将它们返回到一个新数组中。

  1. array_reduce()函数

array_reduce()函数可以对数组中每个元素进行迭代并将它们合并成一个值。

函数格式:

mixedarray_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怎么返回数组指定键值对”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注主机评测网行业资讯频道,小编每天都会为大家更新不同的知识点。


上一篇:php怎么删除数组中的某个值

下一篇:php怎么查询数组个数


Copyright © 2002-2019 测速网 https://www.inhv.cn/ 皖ICP备2023010105号 城市 地区 街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!
热门搜索