//从php数组中获取指定元素的所有值 使用php自带的array_column()函数 //这里我们获取$arr二维数组中所有的name元素的值 $arr = array( 0 =>array('id'=>'89','name'=>'九阳神功','prices'=>99.00), 1 =>array('id'=>'100','name'=>'降龙十八掌','prices'=>100.00), 2 =>array('id'=>'60','name'=>'北冥神功','prices'=>100.00), 3 =>array('id'=>'10','name'=>'.六脉神剑','prices'=>90.10), 4 =>array('id'=>'55','name'=>'乾坤大挪移','prices'=>99.00), ); $name = array_column($arr,'name'); //返回的是索引类型的一维数组 值为:$arr数组name的值 var_dump($name); /* *输出结果如下: * array (size=5) 0 => string '九阳神功' (length=12) 1 => string '降龙十八掌' (length=15) 2 => string '北冥神功' (length=12) 3 => string '.六脉神剑' (length=13) 4 => string '乾坤大挪移' (length=15) * */
以上是使用array_column()函数实现;
第二种方式可以使用php系统自带的array_map()函数
demo如下:
/*函数array_map()函数:多数组回调函数---将回调函数作用到给定数组的单元上 * 1、语法:array array_map ( callback callback, array arr1 [, array ...] ) * 2、描述:返回一个数组,该数组包含了 arr1 中的所有单元经过 callback 作用过之后的 * 单元。callback 接受的参数数目应该和传递给 array_map() 函数的数组数目一致。 * 3、注意事项: * 3.1、多数组回调函数作用于一个数组时,将保留原有数组的键名,也就是返回的数组的键名就是 * 作用到给定数组的键名 * 3.2、多数组回到函数作用于两个或多个数组时,他们的长度要一致,并且将忽略原来多个数组的 * 键名,统一分配数字索引作为键名 */ $arr = array( 0 =>array('id'=>'89','name'=>'九阳神功','prices'=>200.00), 1 =>array('id'=>'100','name'=>'降龙十八掌','prices'=>500.00), 2 =>array('id'=>'60','name'=>'北冥神功','prices'=>700.00), 3 =>array('id'=>'10','name'=>'.六脉神剑','prices'=>1500.10), 4 =>array('id'=>'55','name'=>'乾坤大挪移','prices'=>2100.00), 5 =>array('id'=>'55','name'=>'九阴真经','prices'=>400.00), ); $a = array_map(function($element){ /* $arr作为参数传入回调函数 返回数组元素值的last_name对应值 array_map返回数组,相当于把每个$element['name']存入新数组,所以是新建的索引 */ return $element['name']; },$arr); var_dump($a); /*输出如下: array (size=6) 0 => string '九阳神功' (length=12) 1 => string '降龙十八掌' (length=15) 2 => string '北冥神功' (length=12) 3 => string '.六脉神剑' (length=13) 4 => string '乾坤大挪移' (length=15) 5 => string '九阴真经' (length=12) * * */
以上是使用array_map()函数实现的
在取出的多条数据中,典型的二维数组,如果需要使用数据中单一的值与值对应的情况,array_column()即可完成,但是面对较复杂的数组结构,foreach才能让你更灵活,不过优先使用系统函数总是首选的。
声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。
精彩评论