配列の要素するがバラバラだった時で、それぞれの配列を一番要素数が多い数に合わせたい場合
そんな感じの処理を書いてみたのでメモ
// こんな感じで、$arrayにはそれぞれ違う要素が入っている。(今回は適当に1 ... から順番) $array = array(1 => array(1, 2, 3, 4), ・・・・); $roop_count = 0; foreach ($array as $month) { $count[$roop_count++] = count($testArray[$month]); } // 全体から最大のデータを探す // 適当に最大の値を定義 $max = $count[0]; $count_max = count($count); for ($i = 0; $i < $count_max; $i++) { // 前の値(&最初の値)と比較して、大きいなら入れなおす if ($max < $count[$i]) { $max = $count[$i]; } } // 行数を制御 foreach ($array as $month) { $count_2 = count($testArray[$month]); if ($count_2 < $cnt_max) { for ($j = 1; $j <= $cnt_max - $count_2; $j++) { $testArray[$month][] = array(); } } }
2回同じ配列をループさせないといけないのが心配だなぁ。