【发布时间】:2017-08-11 21:39:30
【问题描述】:
我有一段简单的代码没有像我预期的那样工作,有人可以解释为什么它没有填充字段数组以及如何解决它。
$fields = [];
array_walk($class->properties, function($v, $k) use ($fields) {
$fields[] = $v->name;
});
die(var_dump($fields));
// output is []
【问题讨论】:
-
在
use中通过引用传递,而不是通过值传递:array_walk($class->properties, function($v, $k) use (&$fields){$fields[] = $v->name;}); -
对于这个用例值得指出的是,函数
array_map会是一个更好的选择。 -
带有 var_dump() 的 die() 是免费的。
标签: php array-walk