LABO IWASAKI

PHPの変数名を繋げて任意の変数の値を取得する

Connect the variable

もしかしたら、ややこしいだけなのか…。
もっと他にイイ方法があるのかもしれない。
でも実際に必要だったので書いておきます。

PHP変数が複数あった場合
それぞれの変数に異なる値が入っている。
説明難しいので本文に書こう…。

前提条件

Premise

例えば以下のような条件下の時に使えると思います。

DBからなんらかの値を取り出して、変数に入れます。
その変数の値同士で計算してトータルを求める。
さらに、そのトータル値を変数として取得したい。

$total1 = 100;
$total2 = 200;
$total3 = 300;
$total4 = 400;
$total5 = 500;
$total6 = 600;
$total7 = 700;
$total8 = 800;
$total9 = 900;

例えばこのように「$total1 〜 $total9」まで
変数同士を計算して算出した変数があるとします。

「$total7」の値を取得したいとします。
しかし、素直に「$total7」と指定できない場合。
(例えばWhileとかで全部取得したい場合とか)

$nom1 = 1;
$nom2 = 2;
$nom3 = 3;
$nom4 = 4;
$nom5 = 5;
$nom6 = 6;
$nom7 = 7;
$nom8 = 8;
$nom9 = 9;

「$nom1 〜 $nom9」まで整数を指定します。
そして次のようにすると変数名を繋げる事ができます。

$no7 = ${total.$nom7};

// 結果 $no7 = $total7 = 700