У меня есть набор результатов в виде массива из базы данных, который выглядит так:
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);
}
}
Следует ли мне придерживаться этого или есть способ лучше?