PHP で 2 次元配列を変更する方法

PHPz
リリース: 2023-04-12 10:18:29
オリジナル
632 人が閲覧しました

PHP は非常に人気のある Web プログラミング言語であり、さまざまな Web アプリケーションの開発に広く使用されています。実際のプログラミングでは、配列を処理して配列内の要素または配列全体を変更する必要がよくありますが、2 次元配列の演算はより複雑です。以下に、この記事では、PHP で 2 次元配列を変更する方法を紹介します。

1. 2 次元配列とは

PHP では、配列は 1 つ以上の値を格納できるコンテナであり、これらの値はキーに基づいて取得または変更できます。または添え字. は、簡単に言うと、関連付けられたコレクションです。 2 次元配列は、複数の 1 次元配列で構成される配列です。例:

$arr = array(
   array("name"=>"Tom", "age"=>18),
   array("name"=>"Jerry", "age"=>20),
   array("name"=>"Bob", "age"=>22)
);
ログイン後にコピー

上記は 3 つの要素を含む 2 次元配列であり、各要素は 2 つのキーと値のペア「名前」と「年齢」を含む 1 次元配列です。

2. 2 次元配列を変更する方法

2 次元配列を変更するには、foreach ループを使用して配列を走査し、必要な要素を見つけるなど、さまざまな方法があります。変更のために変更するか、array_map などの関数を使用して配列を変更します。以下では、これら 2 つの方法について詳しく紹介します。

  1. foreach ループを使用して配列の変更を走査する

PHP では、foreach を使用すると配列を簡単に走査でき、2 次元配列の場合は double の foreach を使用できます。ループは配列要素を走査して変更します。具体的な操作は次のとおりです。

foreach ($arr as $key1=>$value1) {
    foreach ($value1 as $key2=>$value2) {
        if ($key2 == "name" && $value2 == "Jerry") {
            $arr[$key1]["age"] = 21;
        }
    }
}
ログイン後にコピー

上記のコードでは、二重の foreach ループを使用して 2 次元配列 $arr を走査し、最初に各 1 次元配列を取得し、次にループを続けて取得します。キーと値のペアを使用し、条件ステートメントを使用して、この要素の値を変更する必要があるかどうかを判断します。変更が必要な場合は、配列インデックスを使用して要素の値を直接変更できます。たとえば、ジェリーの年齢を変更する必要がある場合は、次のコードを通じて実行できます: $arr$key1 = 21;

  1. array_map 関数を使用して配列を変更します

PHP が提供 配列を処理する関数は多数ありますが、その中でも array_map 関数は、配列の各要素に対して指定された関数を実行し、最終的に処理された配列を返すことができます。 foreach とは異なり、array_map 関数は元の配列を変更しませんが、変更された新しい配列を返します。

function modifyElement($value) {
   if (is_array($value) && $value['name'] == 'Jessy') {
       $value['age'] = 20;
   }
   return $value;
}
$newArray = array_map("modifyElement", $arr);
ログイン後にコピー

上記のコードでは、配列内の要素を変更するためにmodifyElement関数を定義しています。要素の「名前」が「Jessy」と等しい場合は、要素の「年齢」を 20 に変更します。次に、array_map 関数を介して modifyElement 関数を呼び出して配列内の要素を変更し、返された新しい配列を $newArray 変数に割り当てます。

3. 概要

この記事では、PHP で 2 次元配列を変更する方法を紹介します。上記の内容の導入により、2 次元配列の場合、foreach 二重ループの走査と変更を使用したり、array_map 関数を使用して配列要素を処理したりできることが理解できました。実際のアプリケーションにおける特定のニーズに基づいて選択することをお勧めします。

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

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