値?通常、foreachループで新しい配列を再構築し、配列キーがbの場合は関数を適用しますが、それが最善の方法かどうかはわかりません。私は多くの配列関数を見てみましたが、array_walk_recursiveは使用するかもしれないもののようですが、私が望むことをするためにそれを得ることはできませんでした。私は十分にそれをうまく説明していないよ場合は、基本的に私は以下のコードがするように行うことができるようにしたい:PHP操作多次元配列は、私がどのように見えるのデータベースからの配列として結果セットを持って
$arr = array();
foreach ($result as $key => $value)
{
foreach ($value as $key2 => $value2)
{
$arr[$key][$key2] = ($key2 == 'b' ? $this->_my_method($value2) : $value2);
}
}
は、私はそれに固執する必要があり、またはより良い方法はありますか?
上記のように、私はすでにarray_walk_recursiveを試していましたが、うまくいきませんでした。明らかに、$ itemパラメータの前にアンパサンドを置くのを忘れてしまった!今働いている。 – Joker
うん、簡単に間違いを作る。マニュアルを引用する: 'funcnameが配列の実際の値で動作する必要がある場合、funcnameの最初のパラメータを参照として指定します。その後、元の配列自体にこれらの要素に加えられた変更が行われます。 – thirtydot