【发布时间】:2012-08-06 08:43:46
【问题描述】:
我有一个数组
$users = array();
$users[0]['id']=1;
$users[0]['name']="user1";
$users[1]['id']=2;
$users[1]['name']="user2";
$users[2]['id']=3;
$users[2]['name']="user3";
我需要将 id 提取到另一个数组 $ids;这样
$ids[0]=1;
$ids[1]=2;
$ids[2]=3;
我知道一种方法...
$ids = array();
foreach($users as $user){
$ids[] = $user['id'];
}
但是
1.这是最好的方法吗? 2.是否可以不循环。 3.这是最快的方法吗....?
【问题讨论】:
-
我认为你不能在没有循环的情况下做到这一点。您的代码看起来不错。
-
可以使用
array_walk()/array_map()等来实现 - 但这只是穿不同外套的循环,在这种情况下,我怀疑它会 less 效率比你简单、有效且易读foreach。所以简而言之1.is it is the best way to doit?- 可能,是的。2.is it possible to do it without loops.- 绝对不是,不。即使看起来不像循环的东西也只是下面的循环(在 C++ 源代码中)。3.is it is the fastest way....?- 再次,可能是的。如果不是,我会感到惊讶。但是对于需要 -
1.不,2。不,3。可能,说真的,即使有最快的方法,我怀疑它会对你的整体代码产生任何影响。
-
@IvanHušnjak
1. No- 想扩展吗?还是你的意思是Yes? -
@DaveRandom 哦,对不起,你是对的。我的意思是“是的,这是最好和最简单的方法”
标签: php arrays loops multidimensional-array