PHP配列から指定された要素を削除する方法

PHPz
リリース: 2023-04-26 14:55:09
オリジナル
1086 人が閲覧しました

PHP を使用する場合、配列は非常に一般的で実用的なデータ構造です。配列を扱うとき、配列から指定された要素を削除する必要がある場合があります。この操作は、いくつかの配列関数を使用するか、配列を手動で走査することによって実装できます。この記事では、配列から指定した要素を削除するいくつかの方法を紹介します。

方法 1: unset() 関数を使用する

PHP の unset() 関数を使用して、指定された変数を破棄できます。変数が配列要素の場合、unset() 関数を使用して要素を削除できます。具体的な実装は次のとおりです:

$colors = array('red', 'blue', 'green', 'yellow');
unset($colors[1]);  // 移除 "blue" 元素
print_r($colors);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [0] => red
    [2] => green
    [3] => yellow
)
ログイン後にコピー
ログイン後にコピー

上で示したように、unset() 関数を使用して $colors の 2 番目の要素「blue」を削除できます。配列。実行後、配列には「red」、「green」、「 yellow」の 3 つの要素だけが残ります。

unset() 関数を使用して配列要素を削除する場合、その要素が占める位置は自動的には埋められません。つまり、後続の要素は自動的に前方に移動されないことに注意してください。したがって、この方法を使用して配列要素を削除した後、他の方法で配列を再構築する必要があります。

方法 2: array_splice() 関数を使用する

PHP の array_splice() 関数を使用すると、配列内の要素のセクションを削除し、他の要素に置き換えることができます。具体的な使用方法は次のとおりです。

$colors = array('red', 'blue', 'green', 'yellow');
array_splice($colors, 1, 1);  // 移除下标为 1 的元素 "blue"
print_r($colors);
ログイン後にコピー

実行結果は次のとおりです。

Array
(
    [0] => red
    [1] => green
    [2] => yellow
)
ログイン後にコピー

上で示したように、array_splice() 関数を使用して、配列の 2 番目の要素「blue」を削除できます。 $colors 配列。実行後、配列には「red」、「green」、「 yellow」の 3 つの要素だけが残ります。

array_splice() 関数は元の配列を変更し、そのインデックスを自動的に再構築することに注意してください。インデックスを再構築する必要がない場合は、4 番目のパラメータを false## に設定できます。 #。

方法 3: array_diff() 関数を使用する

PHP の array_diff() 関数を使用すると、2 つ以上の配列間の差異を比較し、差異を返すことができます。引数が配列のみの場合は、その配列内の指定された要素の差分を返します。したがって、この関数を使用して、指定された要素を削除できます。

$colors = array('red', 'blue', 'green', 'yellow');
$remove = array('blue');
$colors = array_diff($colors, $remove);  // 移除 $remove 数组中的元素
print_r($colors);
ログイン後にコピー
実行結果は次のとおりです:

Array
(
    [0] => red
    [2] => green
    [3] => yellow
)
ログイン後にコピー
ログイン後にコピー
上に示したように、array_diff() 関数を使用して、$colors 配列内の同じ要素を $remove 配列要素として削除できます。 "blue" は $remove 配列内の唯一の要素であるため、"blue" 要素は $colors 配列から削除されます。

array_diff() 関数は差分要素で構成される新しい配列を返し、元の配列には影響しないことに注意してください。したがって、指定された要素を削除するには、戻り値を元の配列に再代入する必要があります。 。 関数。

概要

unset() 関数、array_splice() 関数、array_diff() 関数を使用すると、PHP 配列から指定された要素を削除する機能を実現できます。その中で、unset() 関数が最も単純ですが、配列を手動で再構築する必要があります。 array_splice() 関数は、配列要素を削除しながら配列インデックスを再構築できます。 array_diff() 関数は差分配列を返します。戻り値は元の配列に割り当てる必要があります。具体的なシナリオに応じて適切な実装方法を選択する必要があります。

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

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