ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して 2 次元配列の反転演算を実装する方法

PHP を使用して 2 次元配列の反転演算を実装する方法

PHPz
PHPzオリジナル
2023-04-19 10:07:18886ブラウズ

PHP プログラミングでは、2 次元配列は複数のデータ値を格納するために使用されるデータ構造です。この種類の配列は、テーブル データやスケジュールなどの複雑なデータ構造を格納するために使用できます。場合によっては、2 次元配列を反転する、つまり行と列を交換する必要があります。たとえば、表形式のデータを表示する場合、データをわかりやすく表示するために列と行を反転することが必要になることがよくあります。この記事では、PHPを使用して2次元配列の反転演算を実装する方法を紹介します。

1. 2 次元配列とは

PHP では、2 次元配列は複数の配列を含めることができる配列です。各配列にはデータ値のセットが含まれており、これらの値にアクセスするにはインデックスが使用されます。単純な 2D 配列の例を次に示します。

$data = array(
    array("apple", "banana", "orange"),
    array("red", "yellow", "orange"),
    array("sweet", "sour", "sweet")
);

上記の配列には 3 つの配列が含まれており、それぞれに 3 つの文字列値が含まれています。これらの値にアクセスするには、次のコードを使用できます:

echo $data[0][0]; //输出 "apple"
echo $data[1][2]; //输出 "orange"
echo $data[2][1]; //输出 "sour"

2. 2 次元配列の反転操作

PHP では、for ループ ステートメントと foreach ループ ステートメントを使用して走査できます。 2 次元配列の反転演算を実装するための 2 次元配列の値。以下は、for ループ ステートメントを使用して 2 次元配列の反転演算を実装する例です。

function array_invert($arr) {
    // 获取数组的行数和列数
    $rows = count($arr);
    $cols = count($arr[0]);
    // 创建倒置后的数组
    $invertArr = array();
    // 循环遍历数组的行与列
    for ($i = 0; $i < $cols; $i++) {
        for ($j = 0; $j < $rows; $j++) {
            $invertArr[$i][$j] = $arr[$j][$i];
        }
    }
    // 返回倒置后的数组
    return $invertArr;
}

上記のコードでは、最初に 2 次元配列の行数と列数を取得し、次に反転配列 $invertArr を作成します。次に、2 次元配列の行と列が 2 つの for ループを通じて走査され、走査プロセス中に値が反転配列にコピーされ、最後に反転配列が返されます。

次は、関数を使用して 2 次元配列を反転する例です。

$data = array(
    array("apple", "banana", "orange"),
    array("red", "yellow", "orange"),
    array("sweet", "sour", "sweet")
);

$invertData = array_invert($data);

// 输出倒置后的数组
foreach ($invertData as $row) {
    foreach ($row as $value) {
        echo $value . " ";
    }
    echo "<br/>";
}

上記のコードでは、最初に 2 次元配列 $data が関数に渡され、この関数は反転配列 $invertData を返します。次に、foreach ループを使用して反転配列を走査し、値をページに出力します。

3. まとめ

この記事では、PHP における 2 次元配列の概念と反転演算の実装方法を紹介します。 2 次元配列の行と列をトラバースすることにより、2 次元配列の行と列を反転できます。反転操作は、表形式のデータを表示するときや行列積を計算するときなど、2 次元配列を反転する必要がある多くの状況で役立ちます。

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

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