ホームページ >バックエンド開発 >PHPの問題 >PHPで配列から要素を削除するにはどうすればよいですか?

PHPで配列から要素を削除するにはどうすればよいですか?

coldplay.xixi
coldplay.xixiオリジナル
2020-07-23 13:23:062622ブラウズ

php の配列から要素を削除するメソッド: 1. unset 関数を使用して要素を削除し、元のインデックスを変更しないで維持します; 2. [array_splice] 関数を使用してインデックスを維持せずに要素を削除します; 3 [array_diff] 関数を使用して、インデックスを維持したまま、値によって複数の要素を削除します。

PHPで配列から要素を削除するにはどうすればよいですか?

php 配列から要素を削除するメソッド:

1. 要素を削除して保持します。インデックスは変更されません。

unset 関数を使用します。例は次のとおりです。

<?php
  $array = array(0 => "a", 1 => "b", 2 => "c");
  unset($array[1]);
        //↑ 你想删除的key
?>

出力:

Array (
    [0] => a
    [2] => c
)

unset を使用すると、次のようになります。配列の元の値を変更しないでください。インデックスがあります。インデックスを再配置する場合 (インデックスを 0 から開始し、連続するようにする)、array_values 関数を使用できます:

$array = array_values($array);
/*
输出
array(2) 
{ [0]=> string(1) "a" [1]=> 
string(1) "c"}
*/

2。 index

array_splice 関数を使用します。例は次のとおりです:

<?php
  $array = array(0 => "a", 1 => "b", 2 => "c");
  array_splice($array, 1, 1);
            //↑ 你想删除的元素的Offset
?>

出力:

Array (
    [0] => a
    [1] => c
)

3. 複数を削除します。インデックスを保持した値による要素

array_diff 関数を使用します。例は次のとおりです。

<?php
  $array = array(0 => "a", 1 => "b", 2 => "c");
  $array = array_diff($array, ["a", "c"]);
               //└────────┘→ 你想删除的数组元素值values
?>

出力:

Array (
    [1] => b
)

Similar設定を解除すると、array_diff のインデックスも維持されます。

4. キーごとに複数の要素を削除し、インデックスを保持します

array_diff_key 関数を使用します。例は次のとおりです:

<?php
 
  $array = array(0 => "a", 1 => "b", 2 => "c");
  $array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
                  //↑      ↑ 你想删除的数组键keys
?>

出力:

Array (
    [1] => b
)

unset と同様に、array_diff_key もインデックスを維持します。

関連する学習の推奨事項: PHP プログラミングの入門から熟練度まで

以上がPHPで配列から要素を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。