假设我有这样一个数组:
$shop = array( array("name"=>"Tom", "level"=> 1.25 ),
array("name"=>"Mike","level"=> 0.75 ),
array("name"=>"John","level"=> 1.15 )
);
如何创建一个数组,其中所有的名称值和键是其原始数组的位置。我知道我可以遍历,然后放入另一个数组,但是有函数吗?
对不起,如果我混淆了。我想要的输出是:
array(0=>"Tom",1=>"Mike",2=>"John");
这就是sql中select的作用
从PHP 5.3.0开始,你可以这样做:
$result = array_map(
function($x) {
return $x['name'];
}, $shop);
print_r($result);
在5.3.0之前,你可以使用create_function作为回调。
从php 5.5开始,你可以使用
$names = array_column($shop, 'name');
$shop = array( array("name"=>"Tom", "level"=> 1.25 ),
array("name"=>"Mike","level"=> 0.75 ),
array("name"=>"John","level"=> 1.15 )
);
$newArr = array();
foreach($shop as $key=>$val){
$newArr[$key] = $val['name'];
}
print_r($newArr);
可以使用foreach
<?php
$shop = array( array("name"=>"Tom", "level"=> 1.25 ),
array("name"=>"Mike","level"=> 0.75 ),
array("name"=>"John","level"=> 1.15 )
);
$newar = array();
foreach($shop as $subarr){
$newar[] = $subarr['name'];
}
print_r($newar);
?>