問題
PHPで配列内の一部要素のみ削除するには?
解決策
「unset($配列[キーの数値])」を行うことで途中の値を削除できる。
配列内の途中の値のみ削除
PHPで配列内の途中の値のみ削除する方法をご紹介します。
配列の内訳は、以下を想定しています。
20200601
20200602
20200603
配列の途中の値のみ削除する記述例
配列の途中の値のみ削除する記述例は以下になります。
例として2番目(キー:1)の値を削除します。
$list =array(
"20200601",
"20200602",
"20200603"
);
unset($list[1]);
実行結果
20200601
20200603
ポイント!
「unset($配列[キーの数値])」を行うことで、記述したキーの値を削除することができます。
配列のキーを整える
このままですと、キーの値が以下のように抜けた状態となってしまっています。
$list =array(
[0] => "20200601",
[2] => "20200603"
);
なので、キーの値を整えます。
$list = array_values($list);
その結果、以下のようにキーの値が書き換えられます。
$list =array(
[0] => "20200601",
[1] => "20200603"
);
ポイント!
「array_values($配列)」を行うことで、キーの値を整えることができます。
参考ページ
以下のサイトが、より詳しく解説してくれています。
【PHPで配列の要素を削除する:unset, array_splice, array_shift, array_pop | UX MILK】
https://uxmilk.jp/8884
コメント