いやぁー痛感しました。
Array ( [0] => ルフィ [1] => ゾロ [4] => ウソップ [7] => ナミ )
てな配列があって、これを
Array ( [0] => ルフィ [1] => ゾロ [2] => ウソップ [3] => ナミ )
ってな感じに詰めたかっただけなんですよ。PHPならそれっぽい配列関数がありそうだけど無かったから、面倒だけど
$from = array(0 => 'ルフィ', 1 => 'ゾロ', 4 => 'ウソップ', 7 => 'ナミ'); $to = array(); $i = 0; foreach ($from as $tmp) $to[$i++] = $tmp;
ってやってたわけですよ。
でもね。でもね。ぜーーーったいもっと楽チンな方法はあるはずやん!って思って調べてみたですよ。
そしたらね。こちらのコメントにすばらしいアイデアがありましたよ。
$ary2 = array_merge($ary1);
print_r($ary1);
print_r($ary2);のほうがよくない?
って。
なーるーほーどー(the world)
そもそも、array_merge()
って関数は、配列1と配列2の配列をマージするってモノですよ。そもそも最適化するってモノではないのですよ。
けど、このアイデアをくれたhogeさんは、PHPマニュアルのarray_mergeの説明にある、
入力配列の中にある数値添字要素の添字の数値は、 結果の配列ではゼロから始まる連続した数値に置き換えられます。
という部分を利用したんですよね。
「この機能は○○するものである」という部分だけに注目しちゃダメなんですねー。いやぁ参考になりました。