如何在 CakePHP 4.2 中将变量传递给 $callback Collection::map($callback)?
How to pass variable to $callback Collection::map($callback) in CakePHP 4.2?
我不是 CakePhp 4 中 Collections 概念的专家,我不知道如何在 Collection::map()
中传递变量
$item = [
'attributes' => [
'class' => 'mon-li-{{id}}',
'data-truc' => 'li-{{id}}'
],
'linkAttrs' => ['class' => 'mon-lien', 'style' => 'text-transform: uppercase']
];
$id = 5;
$item = collection($item)
->map(function ($value, $key){
return preg_replace('/{{id}}/', $id, $value); // $id is undefined
})
->toArray();
它给出:通知(8):未定义的变量:id
我该怎么做才能让我的函数知道 $id ?
use
关键字对此有帮助:
$item = collection($item)
->map(function ($value, $key) use ($id) { // <-- See `use`
return preg_replace('/{{id}}/', $id, $value);
})
->toArray();
PHP 手册:Anonymous Functions
我不是 CakePhp 4 中 Collections 概念的专家,我不知道如何在 Collection::map()
中传递变量$item = [
'attributes' => [
'class' => 'mon-li-{{id}}',
'data-truc' => 'li-{{id}}'
],
'linkAttrs' => ['class' => 'mon-lien', 'style' => 'text-transform: uppercase']
];
$id = 5;
$item = collection($item)
->map(function ($value, $key){
return preg_replace('/{{id}}/', $id, $value); // $id is undefined
})
->toArray();
它给出:通知(8):未定义的变量:id
我该怎么做才能让我的函数知道 $id ?
use
关键字对此有帮助:
$item = collection($item)
->map(function ($value, $key) use ($id) { // <-- See `use`
return preg_replace('/{{id}}/', $id, $value);
})
->toArray();
PHP 手册:Anonymous Functions