方式1:for 性能效率低下
方式2: foreach 比 for 性能效率高。
方式3:array_walk() 函数 ,循环内部有函数时 ,性能比foreach 快40%,循环内部 无函数时,建议 foreach:
$all_menu_list = [
['gys_menu_id' => 1,'gys_sub_menu_id' => 4, 'gys_id'=>5],
['gys_menu_id' => 2,'gys_sub_menu_id' => 3, 'gys_id'=>5],
...
];
$arr = ['role_id' => 5];
array_walk($all_menu_list, function (&$v2, $k1, $arr) {
$v2['pid'] = $arr['role_id'].'_'.$v2['gys_menu_id'];
$v2['uid'] = $v2['gys_sub_menu_id'];
$v2['sid'] = $arr['role_id'].'_'.$v2['uid'];
$v2['role_id'] = $arr['role_id'];
unset($v2['gys_id'],$v2['gys_menu_id'],$v2['gys_sub_menu_id']);
},$arr);
var_dump($all_menu_list);