twitter facebook

PHPで配列の一部を削除

特定のインデックスを削除

切り出し

新しい配列 = array_splice(対象配列, 開始インデックス, 切り取り数);
$v1 = array('いちご', 'みかん', 'りんご', 'れもん', 'めろん', 'メロン');
//配列のインデックス3から 2個を切り出し
$v2 = array_splice($v1, 3, 2);
var_dump($v2);
インデックスも0からに詰まります。
array(2) { [0]=> string(9) "れもん" [1]=> string(9) "めろん" }

始めの3つだけを抜き取りたい場合。

$v1 = array('いちご', 'みかん', 'りんご', 'れもん', 'めろん', 'メロン');
$v2 = array_splice($v1, 0, 3);
var_dump($v2);
array(3) { [0]=> string(9) "いちご" [1]=> string(9) "みかん" [2]=> string(9) "りんご" }

特定の要素を削除

$v1 = array('いちご', 'みかん', 'りんご', 'れもん', 'めろん', 'メロン');
unset($v1[3]);
var_dump($v1);
インデックス番号3 の "れもん" が消えています。インデックス番号は詰まりません。
array(5) { [0]=> string(9) "いちご" [1]=> string(9) "みかん" [2]=> string(9) "りんご" [4]=> string(9) "めろん" [5]=> string(9) "メロン" }
インデックス番号を詰める場合は array_values() を使用。
続き
$v2 = array_values($v1);
array(5) { [0]=> string(9) "いちご" [1]=> string(9) "みかん" [2]=> string(9) "りんご" [3]=> string(9) "めろん" [4]=> string(9) "メロン" }

特定の情報を削除

果物のリストから みかんめろん を消したいような場合。
$v1 = array('いちご', 'みかん', 'りんご', 'れもん', 'めろん', 'メロン');
$v2 = array_diff($v1, array('みかん', 'めろん'));
$v2 = array_values($v2); // 詰める
var_dump($v2);
array(4) { [0]=> string(9) "いちご" [1]=> string(9) "りんご" [2]=> string(9) "れもん" [3]=> string(9) "メロン" }
AUTHOR
@kiki
最終更新日 2018/09/17
FAVORITE good stock
LINK TAG
記法を見る