ホームページ > バックエンド開発 > PHPの問題 > PHPで多次元配列の要素を変更する方法

PHPで多次元配列の要素を変更する方法

PHPz
リリース: 2023-04-27 10:28:53
オリジナル
615 人が閲覧しました

PHP は、幅広い用途で人気のある非常に人気のある Web プログラミング言語です。配列は、PHP では非常に便利なデータ型です。 PHP には多くの種類の配列があり、その中で最も一般的に使用されるのは多次元配列です。多次元配列では、各配列要素は 2 次元、3 次元、またはそれ以上の次元の配列構造を形成する配列にすることができます。ただし、多次元配列を扱う場合、特定の要素を変更するのは少し難しい場合があります。この記事では、多次元配列の要素を変更する方法について説明します。

多次元配列の走査

多次元配列の要素を変更する方法を理解する前に、PHP で多次元配列を走査する方法を理解する必要があります。多次元配列を走査するには多くの方法がありますが、以下では最も一般的な 3 つの方法を紹介します。

方法 1: for ループを使用して走査する

for ループを使用すると、2 次元配列を簡単に走査できます。 3 次元、4 次元、またはそれ以上の次元の配列の場合、複数の for ループをネストする必要があります。以下に示すように:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
        echo $array[$i][$j] . " ";
    }
    echo "<br>";
}
ログイン後にコピー

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

1 2 3 
4 5 6 
7 8 9
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

方法 2: foreach ループを使用して走査する

次に示すように、foreach ループを使用して任意の次元の配列を走査します。 :

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

foreach ($array as $value1) {
    foreach ($value1 as $value2) {
        echo $value2 . " ";
    }
    echo "<br>";
}
ログイン後にコピー

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

1 2 3 
4 5 6 
7 8 9
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

方法 3: 再帰的走査を使用する

次に示すように、再帰的メソッドを使用して任意の次元の配列を走査します。

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

function traverse($array) {
    foreach ($array as $value) {
        if (is_array($value)) {
            traverse($value);
        } else {
            echo $value . " ";
        }
    }
    echo "<br>";
}

traverse($array);
ログイン後にコピー
出力結果は最初の 2 つの方法と同じです:

1 2 3 
4 5 6 
7 8 9
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
多次元配列の要素を変更する

多次元配列を走査する方法を理解したら、次のようにします。配列の要素を変更する方が簡単です。 PHP では、配列の添字を使用して要素の値を変更できます。以下に、2次元配列と3次元配列の要素を変更する方法をそれぞれ紹介します。

2 次元配列の要素を変更する

2 次元配列の要素を変更するのは非常に簡単です。次のように、配列の添え字を使用して要素の値を更新するだけです:

$array = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

$array[1][1] = 10;

for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
        echo $array[$i][$j] . " ";
    }
    echo "<br>";
}
ログイン後にコピー
出力は次のとおりです:

1 2 3 
4 10 6 
7 8 9
ログイン後にコピー
上記の例では、

$array を使用します。 [ 1][1] = 10; 2 次元配列の要素を更新します。次に、for ループを使用して、要素が更新されたことを確認します。

3 次元配列の要素の変更

3 次元配列の要素の変更は、少し複雑です。配列内の要素にアクセスするには、複数の配列の添字を使用する必要があります。以下に示すように:

$array = array(
    array(
        array(1, 2, 3),
        array(4, 5, 6),
        array(7, 8, 9)
    ),
    array(
        array(10, 11, 12),
        array(13, 14, 15),
        array(16, 17, 18)
    )
);

$array[1][1][1] = 20;

function traverse($array) {
    foreach ($array as $value) {
        if (is_array($value)) {
            traverse($value);
        } else {
            echo $value . " ";
        }
    }
    echo "<br>";
}

traverse($array);
ログイン後にコピー
出力は次のとおりです:

1 2 3 
4 5 6 
7 8 9 
10 11 12 
13 20 15 
16 17 18
ログイン後にコピー
上記の例では、

$array[1][1][1] = 20; を使用します。 3 次元配列の要素。 3 次元配列を走査する場合は再帰が必要なので、traverse 関数を使用して配列全体を走査します。

概要

この記事では、PHP を使用して多次元配列の要素を変更する方法を紹介しました。多次元配列を操作する 3 つの方法について学び、配列添字を使用して配列要素にアクセスして更新する方法を示す 2 次元および 3 次元配列の例を示しました。このようにして、誰もが PHP をより柔軟に使用して、複雑な多次元配列構造を処理できるようになります。

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

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