php - 在 Php 中将用户数据作为对 array_walk_recursive 的引用传递

标签 php arrays reference

我尝试通过引用 Phps array_walk_recursive 传递第三个参数

$field = 'foo';

array_walk_recursive($config, function($value, $key, &$field) {

    $field = 'bar';

}, $field);

echo $field // 'foo'

为什么 $field 仍然是 'foo',尽管它已作为引用传递给函数?

最佳答案

根据php documentation of anonymous functions闭包的继承变量必须在函数头中使用关键字 use 定义,这使我的示例具有:

function($value, $key) use (&$field) { ... }

尽管回调函数从其父级继承了用 use 声明的参数,这意味着它已在其声明(未执行)的作用域/函数中继承。

关于php - 在 Php 中将用户数据作为对 array_walk_recursive 的引用传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24751543/

相关文章:

php - UTF-8贯穿始终

php - 加载 SQL DLL PHP 5.6.32 时出现问题

javascript - JavaScript 中的数组除法

javascript - 嵌套在 Foreach 中的 Map 函数未按预期运行 为什么?

python - Python 中的列表按引用传递混淆

C++ 通过传递引用修改自身

php - Laravel:更新和创建时唯一的验证

php - 安装 WordPress 插件时出现 cURL 错误 60

php - 如何在 PHP 中循环 JSON 对象值?

C变量赋值给数组元素