こんにちは。ぽこです!
今回は、PHPを使って、変数名に変数を付けて動的に変化する「可変変数」の使い方についてです。
変数の値をそのまま変数として利用する
例えば、次のように変数をセットしていたとします。
1 2 3 |
<?php $a = 'hello'; ?> |
ここで、次のように変数を定義します。
1 2 3 |
<?php $$a = 'world'; ?> |
すると、$aが’hello’なので、
1 2 3 |
<?php $hello = 'world'; ?> |
と同じ意味になります。
変数の値を付けて変数として利用する
先ほどは、値をそのまま変数名としましたが、文字列と組み合わせて利用したい場合もあると思います。
まずは、先ほどと同様、変数に値を入れます。
1 2 3 |
<?php $a = 'world'; ?> |
続いて、次のように定義します。
1 2 3 |
<?php ${'hello'.$a} = 'foo'; ?> |
これは、次と同じ意味になります。
1 2 3 |
<?php $helloworld = 'foo'; ?> |
数のわからないものを一つ一つ変数に格納する
先ほどの可変変数を利用すると、数のわからないものを変数に格納することができます。
1 2 3 4 5 6 7 |
<?php $fruits = array("Orange","Apple","Berry"); for($i = 0 ; $i < count($fruits); $i++){ //繰り返す回数はfruitsに入ってる要素数 ${"fruit".$i} = $fruits[$i]; } ?> |
こうすると、$fruitsに入っている要素数分だけfor分の処理が行われるため、その分の変数を作ることができます。
今回の場合だと$fruit1==”Orange”, $fruit2== “Apple”, $fruit3== “Berry”となります。