PHPで動的な変数名を作成する方法

PHPの概要 PHP

こんにちは。ぽこです!

今回は、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”となります。

タイトルとURLをコピーしました