【发布时间】:2012-08-16 13:32:37
【问题描述】:
出于好奇(我知道它可以是单行 foreach 语句),是否有一些 PHP 数组函数(或许多函数的组合)给出了如下数组:
Array (
[0] => stdClass Object (
[id] => 12
[name] => Lorem
[email] => lorem@example.org
)
[1] => stdClass Object (
[id] => 34
[name] => Ipsum
[email] => ipsum@example.org
)
)
并且,给定'id' 和'name',会产生类似:
Array (
[12] => Lorem
[34] => Ipsum
)
我经常使用这种模式,我注意到array_map 在这种情况下非常无用,因为您无法为返回的数组指定键。
【问题讨论】:
-
可能不会,但你可以编写自己的函数:)
-
array_map 可以采用自定义函数,您可以使用它来指定数组键。
-
@Ariel 怎么样?我找不到为
array_mapreturned 数组指定键的方法。 -
@lorenzo-s 在回调中,用你需要的键输出数组。
-
这可以解决问题: return array_reduce($options, function(&$r, $x){ $r[$x->property] = $x->property2; return $r;} );