我想在多维数组中添加键,以便具有array_map函数
$keywords = [['keyword'=>'designing'],['keyword'=>'logo designing']];
$user_id = 5;
$keywords = array_map(function($arr){
return $arr + ['user_id' => $user_id];
}, $keywords);
我希望输出为
$keywords = [['user_id'=>5,'keyword'=>'designing'],['user_id'=>5,'keyword'=>'logo designing']];
但是它显示了未定义的变量user_id
答案 0 :(得分:1)
变量$user_id
被作为not known in the anonymous function的第一个参数传递给array_map()
。
您可以使用use
keyword轻松解决此问题,该函数使函数继承父上下文中定义的$user_id
变量。
$keywords = [['keyword'=>'designing'],['keyword'=>'logo designing']];
$user_id = 5;
$keywords = array_map(function($arr) use ($user_id) {
return $arr + ['user_id' => $user_id];
}, $keywords);
答案 1 :(得分:0)
添加一个简单的use
语句:
$keywords = array_map(function($arr) use ($user_id) {
return $arr + ['user_id' => $user_id];
}, $keywords);