PHP配列の削除は可能です

PHPz
リリース: 2023-05-07 17:50:07
オリジナル
360 人が閲覧しました

PHP は、データを操作するためのさまざまな強力な関数を提供する人気のあるプログラミング言語です。 PHP では、配列は複数の値を格納できる特別なデータ型であり、これらの値は任意のデータ型にすることができます。

データを直接変更するために、配列から 1 つ以上の要素を削除する必要がある場合があります。この記事では、PHP を使用して配列要素を削除するさまざまな方法を説明します。

  1. unset() 関数:

PHP では、unset() 関数を使用して配列内の要素を削除できます。この関数は 1 つ以上のパラメータを受け入れます。各パラメータは、削除される配列要素のキー名です。

たとえば、次の例では、5 つの要素を含む配列 $a を作成します。次に、unset() 関数を使用して、配列内の 2 番目と 4 番目の要素を削除します。

$a = array('a', 'b', 'c', 'd', 'e');
unset($a[1], $a[3]);
print_r($a);
ログイン後にコピー

上記のコードは次のように出力します:

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

上に示すように、配列の 2 番目と 4 番目の要素が削除されています。

  1. array_splice() 関数

PHP 配列から要素を削除するもう 1 つの方法は、array_splice() 関数を使用することです。この関数は、1 つ以上の配列要素を削除し、削除された要素の配列を返します。

$a = array('a', 'b', 'c', 'd', 'e');
$removed = array_splice($a, 1, 2);
print_r($a);
print_r($removed);
ログイン後にコピー

上の例では、array_splice() 関数を使用して配列 $a から 2 番目と 3 番目の要素を削除し、$removed 配列に格納しました。

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

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

上記のコードは、削除された要素の後の配列 $a と、削除された要素で構成される $removed 配列を出力します。

上記の例では、第 2 パラメータ 1 は削除する要素の開始位置を表し、第 3 パラメータ 2 は削除する要素の数を表します。

  1. array_filter() 関数

array_filter() 関数は、配列内の要素を削除するためにも使用できます。この関数の最初のパラメータはフィルタリングする配列で、2 番目のパラメータはコールバック関数です。コールバック関数は各配列要素に対して実行され、ブール値を返します。

コールバック関数が true を返した場合、要素は保持されます。それ以外の場合は、要素を削除します。

ここでは、array_filter() 関数を使用して、配列 $a から 5 未満の要素を削除する例を示します。

$a = array(1, 6, 2, 7, 3, 8, 4, 9, 5);
$a = array_filter($a, function($value) {
    return $value >= 5;
});
print_r($a);
ログイン後にコピー

上の例では、コールバック関数は、要素の値が次の場合にのみ true を返します。 5時以上。 array_filter() 関数は、配列 $a から 5 未満の要素をすべて削除し、フィルター処理された配列を返します。

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

Array
(
    [1] => 6
    [3] => 7
    [5] => 8
    [7] => 9
)
ログイン後にコピー

上記のコードでは、結果の配列には 5 以上の要素のみが保持されます。

  1. unset() 関数と array_values() 関数を使用して要素を削除する

最後の方法は、unset() 関数を使用して配列要素を削除してから、 array_values() 関数のインデックス配列を通じてそれらをリセットします。これにより、要素を削除した後に要素のキーがインクリメントされます。この方法では、数値キー名の穴を削除することもできます。

たとえば、次の例では、unset() 関数を使用して配列 $a の 2 番目の要素を削除し、array_values() 関数を使用して配列のインデックスを再作成します。 ##上記の例では、配列の 2 番目の要素 (つまり $b) を削除し、array_values() 関数を使用して配列 $a のインデックスを再作成します。

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

$a = array('a', 'b', 'c', 'd', 'e');
unset($a[1]);
$a = array_values($a);
print_r($a);
ログイン後にコピー

配列の 2 番目の要素が正常に削除され、そのキー名は 2 になりました。

どの方法を選択しても、PHP には配列から要素を削除するさまざまな方法が用意されています。どの方法を使用するかは、ニーズとプログラミング スタイルによって異なります。

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

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