PHP は 2 次元配列から要素を削除します

王林
リリース: 2023-05-23 09:48:07
オリジナル
438 人が閲覧しました

PHP では、2 次元配列は一般的なデータ構造であり、複数の配列で構成され、各配列は複数の要素で構成されます。配列を操作する目的を達成するために、キーと値のペアなどの 2 次元配列内の要素を削除する必要がある場合があります。では、2 次元配列から要素を削除するにはどうすればよいでしょうか?

まず、PHP で 2 次元配列を定義する方法を見てみましょう。

$arr = array(
    array('name' => 'Tom', 'age' => 20),
    array('name' => 'Jack', 'age' => 25),
    array('name' => 'Mary', 'age' => 18)
);
ログイン後にコピー

この 2 次元配列は 3 つの 1 次元配列で構成されており、各 1 次元配列には2 つのキー値のペア、つまり「名前」と「年齢」。次に、この 2 次元配列から要素を削除する方法を説明します。

方法 1:

foreach ($arr as &$item) {
    unset($item['name']);
}
ログイン後にコピー

この方法では、指定された変数を削除できる PHP の unset() 関数を使用します。上記のコードでは、foreach ループを使用して 2 次元配列内の各 1 次元配列を反復処理し、unset() 関数を使用して「name」キーに対応する値を削除します。ここで注意する必要があるのは、foreach で参照 (&) 記号を使用していることです。これは、コピーを作成するのではなく、配列要素を直接変更するためです。

方法 2:

foreach ($arr as &$item) {
    $item = array_diff_key($item, array('name' => ''));
}
ログイン後にコピー

このメソッドは、PHP の array_diff_key() 関数と空の配列を使用します。この関数は、2 つの配列内の異なるキーのコレクションを返すために使用されます。上記のコードでは、foreach ループを使用して 2 次元配列内の各 1 次元配列を走査し、array_diff_key() 関数を使用して「name」キーに対応する値を削除します。ここで注意する必要があるのは、空の配列で「name」キーを渡したことです。これは、array_diff_key() 関数が「name」キーに対応する値のみを返すようにするためです。

方法 3:

foreach ($arr as &$item) {
    $keys = array_keys($item);
    $values = array_values($item);
    $index = array_search('name', $keys);
    unset($keys[$index]);
    unset($values[$index]);
    $item = array_combine($keys, $values);
}
ログイン後にコピー

この方法では、array_keys()、array_values()、array_search()、array_combine() など、PHP のいくつかの配列関数を使用します。上記のコードでは、まず array_keys() 関数と array_values() 関数を使用して、1 次元配列のキーと値をそれぞれ $keys 変数と $values 変数に格納します。次に、array_search() 関数を使用して「name」キーの場所を見つけ、unset() 関数を使用してキーと対応する値を削除します。最後に、array_combine() 関数を使用して、残りのキーと値を 1 次元配列に再結合します。

これら 3 つのメソッドはすべて、2 次元配列から要素を削除するために使用できます。使用される具体的なメソッドは、実際のニーズによって異なります。どの方法を使用する場合でも、誤って削除されないように、配列をトラバースする方法に注意を払う必要があります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!