function values($id,$col)
{
$vals = [1=>['name'=>'Lifting Heavy Boxes']];
return $vals[$id][$col];
}
$complete = [1=>["id"=>"2","sid"=>"35","material_completed"=>"1","date"=>"2017-12-18"]];
$form = 'my_form';
array_walk($complete, function(&$d,$k) use($form) {
$k = values($k, 'name').' ['.date('m/d/y',strtotime($d['date'])).'] ('.$form.')';
echo 'in walk '.$k."\n";
});
print_r($complete);
echo
输出:
in walk Lifting Heavy Boxes [12/18/17] (my_form)
这个
print_r
输出:
Array
(
[1] => Array
(
[id] => 2
[sid] => 35
[material_completed] => 1
[date] => 2017-12-18
)
)
我有另一个阵列行走是非常相似的,这是做得很好。我能感觉到它们之间唯一的区别是在一个有效的值$d在遍历之前已经是一个字符串,而在一个无效的值$d是一个数组,在遍历中转换成一个字符串(成功,但最终失败)。
下面是固定版本:
array_walk($complete, function(&$d,$k) use($form) {
$d = values($k, 'name').' ['.date('m/d/y',strtotime($d['date'])).'] ('.$form.')';
});
不管怎样,这就是我想做的。我没有
换钥匙。我的错误印象是,要改变价值,你必须设置新价值的关键。