ホームページ > バックエンド開発 > PHPの問題 > phpは二次元配列を削除します

phpは二次元配列を削除します

王林
リリース: 2023-05-23 10:24:36
オリジナル
514 人が閲覧しました

PHP 開発では、配列要素の削除など、配列に対する操作が必要になることがよくあります。 2 次元配列の削除操作も、実際のアプリケーションでは非常に一般的です。この記事では、PHP で 2 次元配列から要素を削除する方法を説明します。

  1. unset() 関数

PHP の組み込み unset() 関数は、配列要素を削除するメソッドです。 1 次元配列と多次元配列から要素を削除でき、PHP では 2 次元配列も操作できます。以下は、unset() 関数を使用して 2 次元配列の要素を削除する方法を示す簡単な例です。

$arr1 = array(
    array("John", "Smith"),
    array("Jane", "Doe"),
    array("Jim", "Johnson")
);

unset($arr1[1]); //删除第二组元素

print_r($arr1);
ログイン後にコピー

出力結果は次のとおりです。たとえば、2 次元配列 $arr1 には 3 つの要素が含まれており、各要素は埋め込み配列です。 unset() 関数を使用して 2 番目の要素を削除し、print_r() 関数を使用して残りの要素を出力しました。

unset() 関数を使用して配列要素を削除する場合、他の要素のキー名は変更されないことに注意してください。つまり、配列要素を削除すると、要素のキーはまだ存在しますが、その値は削除されます。

array_splice() 関数
  1. array_splice() 関数は、配列要素を削除するために PHP によって提供されるもう 1 つのメソッドです。 unset() 関数とは異なり、array_splice() 関数は、指定された位置の要素を削除し、他の要素のキー名を保持できます。次に例を示します。
Array
(
    [0] => Array
        (
            [0] => John
            [1] => Smith
        )

    [2] => Array
        (
            [0] => Jim
            [1] => Johnson
        )

)
ログイン後にコピー

出力は次のとおりです。

$arr2 = array(
    array("John", "Smith"),
    array("Jane", "Doe"),
    array("Jim", "Johnson")
);

array_splice($arr2, 1, 1); //删除第二组元素

print_r($arr2);
ログイン後にコピー

上の例では、array_splice() 関数を使用して 2 番目の要素 (「Jane」と「)」を削除しました。ドー」。関数の最初のパラメータは変更する必要がある配列、2 番目のパラメータは削除する必要がある要素の開始位置、3 番目のパラメータは削除する必要がある要素の数です。

array_splice() 関数は要素の削除だけでなく、要素の挿入や置換にも使用できることに注意してください。

array_diff() 関数
  1. array_diff() 関数は、2 つの配列の差分を比較するために PHP が提供する関数です。最初の配列には存在するが 2 番目の配列には存在しない要素を返します。したがって、2 次元配列内の要素を削除したい場合は、array_diff() 関数を使用することもできます。以下に例を示します。
Array
(
    [0] => Array
        (
            [0] => John
            [1] => Smith
        )

    [1] => Array
        (
            [0] => Jim
            [1] => Johnson
        )

)
ログイン後にコピー

出力は次のとおりです。

$arr3 = array(
    array("John", "Smith"),
    array("Jane", "Doe"),
    array("Jim", "Johnson")
);

$remove = array("Jane", "Doe");
$newArr = array_diff($arr3, array($remove));

print_r($newArr);
ログイン後にコピー

上の例では、2 次元配列 $arr3 を定義し、削除する必要がある要素を指定しました。次に、array_diff() 関数を使用して、要素が削除されていない新しい配列 $newArr を取得しました。 array_diff() 関数を使用する場合、削除する要素を新しい配列に入れ、それを 2 番目のパラメーターとして関数に渡す必要があることに注意してください。

概要

PHP では 2 次元配列の要素を削除する方法がたくさんあります。上記で紹介した unset() 関数、array_splice() 関数、array_diff() 関数以外にも、foreach ループや array_filter() 関数を使用するなど、いくつかの方法があります。実際のアプリケーションでは、開発者は特定のニーズや使用習慣に基づいて、配列要素の削除操作を完了するための最適な方法を選択できます。

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

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