配列の添え字を修正する | 今日もWEB更新してたら

配列の添え字を修正する

array_values を使います。

PHPの配列は、数字順に並んでいるわけでもないので、便利な様で不便。

<?php
$array
= array();
$array[] = "赤星";
$array[] = "関本";
$array[] = "シーツ";
$array[] = "金本";
$array[] = "今岡";
$array[] = "浜中";

unset(
$array["4"]);
Var_dump::display($array);
?>


と定義すると、Var_dump::display($array)の結果は


Array
(
[0] => 赤星
[1] => 関本
[2] => シーツ
[3] => 金本
[5] => 浜中
)


になる。
連番にならない。困った。for(var$i;sizeof($array)<$i;i++){}でアクセス出来ないよ。

foearchを使えばいいじゃん?確かに。
array_pop(); array_shift();使って配列をStackやQueueでアクセスすればいい。
array_valuesで配列を作り直しもアリだよね。


<?php
$array
= array();
$array[] = "赤・ッ";
$array[] = "関本";
$array[] = "シーツ";
$array[] = "金本";
$array[] = "今岡";
$array[] = "浜中";

unset(
$array["4"]);
$array = array_values($array);
Var_dump::display($array);
?>

結果がコレ


Array
(
[0] => 赤星
[1] => 関本
[2] => シーツ
[3] => 金本
[4] => 浜中
)



これで添え字を修正出来る。unset() 以外に、配列から要素を消す関数があるのかも知れないな。。。