ホームページ  >  記事  >  バックエンド開発  >  PHPで2次元配列内の特定の値を削除する方法

PHPで2次元配列内の特定の値を削除する方法

PHPz
PHPzオリジナル
2023-04-20 10:14:46641ブラウズ

PHP は Web 開発で広く使用されているスクリプト言語であり、多くの Web アプリケーションは PHP に基づいて開発されています。 PHP 開発では配列操作が頻繁に行われ、配列内の特定の値を削除することも一般的な操作の 1 つです。この記事では、PHPで2次元配列の特定の値を削除する方法を紹介します。

まず、PHP における配列の基本的な操作を見てみましょう。

  1. 配列の作成
    PHP での配列の作成には、
$arr = array('a', 'b', 'c');

$arr = ['a', 'b', 'c'];
  1. の 2 つの形式を使用してアクセスできます。配列要素
    添字を使用して配列要素にアクセスできます。添字は 0 から数え始めます。例は次のとおりです。
$arr = ['a', 'b', 'c'];
echo $arr[0]; // 输出 a
  1. 配列を走査する
    多くの方法があります。 PHP で配列を走査します。最も一般的なのは foreach ループを使用することです。例は次のとおりです:
$arr = ['a', 'b', 'c'];
foreach ($arr as $value) {
  echo $value . ' ';
}

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

a b c

上記は基本的な操作ですPHP における配列の次に、配列内の値の 2 次元メソッドを削除する方法を見てみましょう。

2 次元配列内の特定の値を削除するには、unset() 関数を使用できます。 1 次元配列内の特定の値を削除する場合は、unset() 関数を直接使用できます。ただし、2 次元配列内の特定の値を削除するには、traversal 関数と array_map() 関数という 2 つの方法があります。

  1. トラバーサルの実装

配列をトラバースし、unset() 関数を使用して削除します。例は次のとおりです:

$arr = [
    ['name' => 'Amy', 'age' => 20],
    ['name' => 'Bob', 'age' => 22],
    ['name' => 'Cathy', 'age' => 18]
];

foreach ($arr as $key => $value) {
    if ($value['name'] == 'Bob') {
        unset($arr[$key]);
    }
}

print_r($arr);

上記のコードを実行します

Array
(
    [0] => Array
        (
            [name] => Amy
            [age] => 20
        )

    [2] => Array
        (
            [name] => Cathy
            [age] => 18
        )

)

2 次元配列を走査して、削除する要素を見つけ、unset() 関数を使用して要素を削除し、最後に残りの配列を出力します。

  1. array_map() 関数の実装

array_map() 関数は、コールバック関数によって処理された後、1 つ以上の配列の各要素を返すことができます。これを使用して、最初に削除する要素を見つけてから、残りの配列を処理して返します。例は次のとおりです。

$arr = [
    ['name' => 'Amy', 'age' => 20],
    ['name' => 'Bob', 'age' => 22],
    ['name' => 'Cathy', 'age' => 18]
];

$name = 'Bob';

$arr = array_map(function($value) use ($name) {
    if ($value['name'] == $name) {
        return null;
    }
    return $value;
}, $arr);

$arr = array_filter($arr, function($value) {
    return $value !== null;
});

print_r($arr);

上記のコードを実行すると、出力結果は次のようになります。

Array
(
    [0] => Array
        (
            [name] => Amy
            [age] => 20
        )

    [2] => Array
        (
            [name] => Cathy
            [age] => 18
        )

)

上記のコード例では、array_map() 関数が使用されています。まず、use キーワードを介して $name をコールバック関数に渡し、削除する要素を見つけて null を返します。次に、array_filter() 関数を使用して null 要素を除外し、残りの配列を取得します。

概要: PHP で 2 次元配列内の特定の値を削除するには、unset() 関数または array_map() 関数を使用できます。どちらの方法を使用しても二次元配列を処理することができ、実際の使用シーンに応じて選択できます。

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

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