从PHP多维数组中只选择一个属性



假设我有这样一个数组:

$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);
?>

相关内容

  • 没有找到相关文章