//从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才能让你更灵活,不过优先使用系统函数总是首选的。
声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。


精彩评论