是否仅从php多维数组中选择一个属性?
假设我有这样一个数组:是否仅从php多维数组中选择一个属性?,php,arrays,select,multidimensional-array,Php,Arrays,Select,Multidimensional Array,假设我有这样一个数组: $shop = array( array("name"=>"Tom", "level"=> 1.25 ), array("name"=>"Mike","level"=> 0.75 ), array("name"=>"John","level"=> 1.15 ) ); 如何使用所有名称值和键作为原始数组的位置创建数组。我知道我可以迭代,然后放入另一
$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");
因此,select在sql中的基本功能是什么。您可以使用
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);
?>
从PHP 5.3.0开始,您可以使用:
$result = array_map(
function($x) {
return $x['name'];
}, $shop);
print_r($result);
5.3.0之前的版本可以用于回调。由于PHP5.5,您可以使用
$names = array_column($shop, 'name');
你能显示想要的输出吗?啊,现在我知道了。处理answer.com可能只是您可以使用
array\u walk
,但这也会在数组中进行迭代。不管你是手动操作还是使用函数,无论你选择什么,你都会得到大致相同的计算值(好吧,如果你自己有效地遍历数组,也就是;)@StasGrinarray\u keys
将给出(0,1,2等)
,因为数组的键只是索引,其中,值
将是您要修改的数组。您可能应该在发布它们之前进行测试。^此外,作者还说,他们正在寻找一种新的循环方法,并且正在寻找另一种解决方案。当然,这与Deepu现在的答案几乎相同,只是去掉了钥匙^^我还在努力。你不是有时候会犯错误吗!?PS我是第一个回答的人我只是犯了一个小错误。现在就开枪吧。现在答案很好,我坚持-3都很好。你赢了!!!这不是第一个回答问题,而是第一个用实际可用的代码回答问题。^^这不是一个真正的竞赛,但是你发布的第一个答案是人们首先看到的,你的第一个例子导致了错误,你花了8分钟来更新;这意味着人们在这个话题上看到了一个8分钟内无法使用的答案,而这个答案似乎得到了一些关注。^^(我将改变我对答案的投票,因为你最终得到了正确答案-但第一印象才是答案的关键。^^^@sirwilliam它与你的不同-例如,你不能循环通过$shop['name']
,因为该索引不存在。
$names = array_column($shop, 'name');