我有一个来自数据库的数组结果集,看起来像这样:
array (
0 => array (
"a" => "something"
"b" => "something"
"c" => "something"
)
1 => array (
"a" => "something"
"b" => "something"
"c" => "something"
)
2 => array (
"a" => "something"
"b" => "something"
"c" => "something"
)
)
我该如何将一个函数应用于仅具有键b的数组值以替换它们?通常我会使用foreach循环重建一个新数组,并在数组键为b时应用函数,但我不确定这是否是最佳方法。我尝试查看了许多数组函数,似乎array_walk_recursive是我可能使用的功能之一,但我没有成功地让它执行我想要的操作。如果我描述得不够清楚,基本上我想能够像下面的代码一样做:
$arr = array();
foreach ($result as $key => $value)
{
foreach ($value as $key2 => $value2)
{
$arr[$key][$key2] = ($key2 == 'b' ? $this->_my_method($value2) : $value2);
}
}
我应该坚持这样做,还是有更好的方法吗?