に最初のインデックスを返します。foreachループは、私はこのようになります配列内の配列内の配列を持つ多次元配列
$flattened_pics = array (
[0] = array (
_A = array (a bunch of data),
_B = array (a bunch of data)
),
[1] = array (
_A = array (a bunch of data),
_B = array (a bunch of data)
)
)
私は外側の配列に次の関数を実行すると、それが正常に結果を返します。 index [0]の内部配列ですが、index [1]はありません。
$goods['arts'] = Goods_Model_Ajax::convertLettered_arrays($flattened_pics);
は、私は両方$ flattened_picsの結果を返すためにそれを必要とする[0]と$ flattened_pics [1]。
私は単一のforeachループ(以下のような)、ネストされたforeachループ、および他のバリエーションを試しました。おそらく私はこれにインデックスを置く必要がありますが、わかりません。
if($flattened_pics) {
foreach($flattened_pics AS $goods) {
$goods['pics'] = array(Goods_Model_Ajax::convertLettered_arrays($goods)
);
}
}
次に、convertLettered_arraysの機能を示します。
public static function convertLettered_arrays($pics)
{
$out_pictures = array();
$out_pictures['picture_a'] = array();
$out_pictures['picture_b'] = array();
$out_pictures['picture_c'] = array();
$out_pictures['picture_d'] = array();
$out_pictures['picture_a']['image'] = $pics[0]['_A']['picture_temp.image'];
$out_pictures['picture_a']['original'] = $pics[0]['_A']['picture_temp.original'];
$out_pictures['picture_a']['width'] = $pics[0]['_A']['picture_temp.width'];
$out_pictures['picture_a']['height'] = $pics[0]['_A']['picture_temp.height'];
$out_pictures['picture_a']['mime'] = $pics[0]['_A']['picture_temp.mime'];
$out_pictures['picture_b']['image'] = $pics[0]['_B']['picture_temp.image'];
$out_pictures['picture_b']['original'] = $pics[0]['_B']['picture_temp.original'];
$out_pictures['picture_b']['width'] = $pics[0]['_B']['picture_temp.width'];
$out_pictures['picture_b']['height'] = $pics[0]['_B']['picture_temp.height'];
$out_pictures['picture_b']['mime'] = $pics[0]['_B']['picture_temp.mime'];
$out_pictures['picture_c']['image'] = $pics[0]['_C']['picture_temp.image'];
$out_pictures['picture_c']['original'] = $pics[0]['_C']['picture_temp.original'];
$out_pictures['picture_c']['width'] = $pics[0]['_C']['picture_temp.width'];
$out_pictures['picture_c']['height'] = $pics[0]['_C']['picture_temp.height'];
$out_pictures['picture_c']['mime'] = $pics[0]['_C']['picture_temp.mime'];
$out_pictures['picture_d']['image'] = $pics[0]['_D']['picture_temp.image'];
$out_pictures['picture_d']['original'] = $pics[0]['_D']['picture_temp.original'];
$out_pictures['picture_d']['width'] = $pics[0]['_D']['picture_temp.width'];
$out_pictures['picture_d']['height'] = $pics[0]['_D']['picture_temp.height'];
$out_pictures['picture_d']['mime'] = $pics[0]['_D']['picture_temp.mime'];
return $out_pictures;
}
私は問題があなたの関数convertLettered_arraysであると仮定()。私たちはこの機能がなければ助けません。 –
Tx @VincentDecaux、関数を追加しました。関数がインデックスを反復処理していないようです – ian