読者です 読者をやめる 読者になる 読者になる

ほげほげ(仮)

仮死状態

PHP可変変数

PHP


可変変数についてのメモ


動的に変数を設定するには次のようにします。

<?php
$var = 'test';
$$var = 'value';
echo $test;
?>

「$$」とすることで変数の値を変数名として使用することが出来ます。

結果は「value」と表示されます。


また配列の場合は次のようになります。

<?php
$var = array('test');
${$var[0]} = 'array_value';
echo ${$var[0]};
?>

配列を「$$var[0]」と記述したとき、$var[0] を変数名とするのか、$$var のインデックスが[0]なのかが曖昧になるため、「${}」を使います。

上の例では$ var[0] が変数名になります。

$$var のインデックスを[0]の場合は次のようになります。

<?php
$var = 'test';
${$var}[0] = 'array_value';
echo ${$var}[0];
?>


オブジェクトのプロパティの場合は次のようになります。

<?php
class TestClass {
    public $test = 'value';
}
$obj = new TestClass();
$var = 'test';
echo $obj->$var;
?>

単純に変数を指定するだけで大丈夫です。

配列の場合は「$obj->$var[0]」という感じになります。


参考:PHP: 可変変数 - Manual