ホームページ  >  記事  >  バックエンド開発  >  配列要素を削除する 4 つの PHP メソッドの詳細な説明

配列要素を削除する 4 つの PHP メソッドの詳細な説明

伊谢尔伦
伊谢尔伦オリジナル
2017-06-24 09:33:021453ブラウズ

フェンネルビーンズで「フェンネル」という単語を書く方法は 4 つあり、PHP で配列から 要素を削除する方法も 4 つあります。

要素を削除し、元のindexを変更しないでください

unset

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

<?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"
}
*/

インデックスを保持せずに要素を削除する

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

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

出力:

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

インデックスを維持しながら複数の要素を値で削除します

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

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

出力:

Array (
    [1] => b
)

と同様設定を解除すると、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
)

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


以上が配列要素を削除する 4 つの PHP メソッドの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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