PHP配列内の削除された要素のインデックスを再作成する方法、PHP配列要素のインデックス
配列内の要素を削除したい場合は、直接 unset を使用できますが、今日見たものには驚きました
コードをコピーします コードは次のとおりです:
$arr = array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?>
print_r($arr) を実行すると、最終的な結果は Array ( [0] => a [2] => c [3] => d ) になります
それでは、欠落している要素が埋められ、配列のインデックスが再作成されることを保証するにはどうすればよいでしょうか?答えは
です
array_splice():
コードをコピーします コードは次のとおりです:
$arr = array('a','b','c','d');
array_splice($arr,1,1);
print_r($arr);
?>
print_r($arr) の後の結果は A(www.jb51.net)rray ( [0] => a [1] => c [2] => d )
指定された要素を配列から削除します
array_search() の方が実用的です
array_search() 関数は in_array() と同じで、配列内のキー値を検索します。値が見つかった場合は、一致する要素のキーが返されます。見つからない場合は false を返します
コードをコピーします コードは次のとおりです:
$array = array('1', '2', '3', '4', '5');
$del_value = 3;
unset($array[array_search($del_value, $array)]);//この要素を削除するには unset を使用します
print_r($array);
出力
配列('1', '2', '4', '5');
ただし、配列のインデックスを再作成したい場合は、foreach を使用して削除された配列を走査してから配列を再作成する必要があります。これも可能です。
array_values() は入力配列内のすべての値を返し、数値的にインデックスを付けます。
array_value($arr['date']);
解決策 1: 新しい配列を作成します:
$newArr = array();
foreach($arr as $key=>$value){
$newArr[] = $value;
}
解決策 2:並べ替え
sort($arr);
http://www.bkjia.com/PHPjc/879723.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/879723.html技術記事 php配列の要素を削除するための再インデックス方法、php配列要素インデックス 配列内の要素を削除したい場合は、直接unsetを使用できますが、今日見たものは私を大きくさせました...