当サイトは広告およびアフィリエイトプログラムによる収益を得ています。

二次元配列の行列を入れ替えるプログラム

プログラム プログラミング

データベースから取得するデータの[行]と[列]を入れ替えたい場合、SQLでもできますが複雑になってしまうことがあるので、二次元配列(2次元配列)の[行]と[列]を入れ替えるプログラムを実装してみました。

サンプルプログラム

function transMatrix(array $arrays) {

    $result = array();

    foreach ($arrays as $i => $array) {
        foreach ($array as $j => $value) {
            $result[$j][$i] = $value;
        }
    }

    return $result;
}

解説

引数の[$arrays]の二次元配列(2次元配列)を二重ループで処理します。

foreach ($arrays as $i => $array) {
    foreach ($array as $j => $value) {
        (処理)
    }
}

処理は、配列の添え字[$i]と[$j]を入れ替えて中身を代入していきます。

$result[$j][$i] = $value;

PHPを例としていますが他言語に書き換える場合、言語によっては配列の宣言時にサイズを指定するので注意が必要です。

プロフィール

この記事を書いた人
anykey

anykeyの管理人。

IT系ブラック企業にてSE・プログラマを5年経験したのち一般企業の社内SEを2年ほど経験しました。

図書館で読んだ本をきっかけに、こんなサイトを作るまでになりました。