PHPで配列から要素を削除する方法

王林
リリース: 2023-03-09 16:32:01
オリジナル
3610 人が閲覧しました

PHP が配列から要素を削除する方法は、[unset($array[index]);] などの unset 関数を使用して配列要素を削除することです。要素が削除された後、元のインデックスは変更されません。 。

PHPで配列から要素を削除する方法

#この記事の動作環境: Windows10 システム、php 7.3、thinkpad t480 コンピューター。

以下の 4 つの方法で配列から要素を削除できます。詳細については、以下のコードを参照してください。


要素を削除し、元のインデックスを変更しないでください

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);
/*
ログイン後にコピー

Output

array(2) {
 [0]=>
 string(1) "a"
 [1]=>
 string(1) "c"
}
*/
ログイン後にコピー

Index


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

<?php
  $array = array(0 => "a", 1 => "b", 2 => "c");
  array_splice($array, 1, 1);
            //↑ 你想删除的元素的Offset
?>
ログイン後にコピー

出力:


Array (
    [0] => a
    [1] => c
)
ログイン後にコピー

複数の要素を値で削除し、 Index

array_diff 関数を使用することもできます。例は次のとおりです。

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

出力:

Array (
    [1] => b
)
ログイン後にコピー
ログイン後にコピー

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

複数の要素をキーで削除し、インデックスを保持します

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
)
ログイン後にコピー
ログイン後にコピー

次と同様設定を解除すると、array_diff_key もインデックスを保持します。

無料の学習ビデオ共有:

プログラミング入門

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート