[PHP-users 19695]Re: 配列の任意の位置への要素の挿入
T.Okabe
okabe @ nsd.jip.co.jp
2004年 1月 5日 (月) 17:41:25 JST
岡部といいます。
>k-wataと申します。
>
>array_spliceはどうでしょう?
>http://jp.php.net/manual/ja/function.array-splice.php
>
>しかし、連想配列だと・・・
>
><?php
>$input = array ( "red" => "red1", "green" => "green1", "blue" =>
"blue1",
>"yellow" => "yellow1");
>array_splice ($input, 1, 0, 'black');
>
>print_r($input);
>
>?>
>
>結果は、こんな感じになってしまいますが・・・。
>
>Array
>(
> [red] => red1
> [0] => black
> [green] => green1
> [blue] => blue1
> [yellow] => yellow1
>)
$input = array("red" => "red1", "green" => "green1",
"blue" => "blue1", "yellow" => "yellow1");
$input = array_merge( array_slice($input, 0, 1),
array("black" => "black1"),
array_slice($input, 1) );
とするのはどうでしょう?
処理速度上の優劣はわかりませんが、論理的には便利と思います。
挿入先配列とoffsetと挿入配列を引数に取る簡単な関数にも出来ますね。
PHP-users メーリングリストの案内