こんにちは。ぽこです!
今回は、PHPを使って、変数名に変数を付けて動的に変化する「可変変数」の使い方についてです。
変数の値をそのまま変数として利用する
例えば、次のように変数をセットしていたとします。
<?php
$a = 'hello';
?>ここで、次のように変数を定義します。
<?php
$$a = 'world';
?>すると、$aが’hello’なので、
<?php
$hello = 'world';
?>と同じ意味になります。
変数の値を付けて変数として利用する
先ほどは、値をそのまま変数名としましたが、文字列と組み合わせて利用したい場合もあると思います。
まずは、先ほどと同様、変数に値を入れます。
<?php
$a = 'world';
?>続いて、次のように定義します。
<?php
${'hello'.$a} = 'foo';
?>これは、次と同じ意味になります。
<?php
$helloworld = 'foo';
?>数のわからないものを一つ一つ変数に格納する
先ほどの可変変数を利用すると、数のわからないものを変数に格納することができます。
<?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”となります。

