1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
/** -------------------------------------------------------------------------------
 *   可変変数は、変数の値をとり、変数の名前として扱う。:利用の例
 *  2015.08.19 作成 yoshi of CXMedia Inc.
 * -------------------------------------------------------------------------------- */
header("Content-type:text/plain; charset=UTF-8");

//"hello"は、$記号を二つ以上使用することで、変数の名前として使用が可能
echo "■可変変数の\$記号を二つ以上使用で、変数の名前として使用が可能\n";
$a   'hello';
$
$a  'world';
$$
$a 'japan';

//"hello"を値とする$aと "world"を値とする$hello
echo "$a ${$a}","\n";
// 上記の構文と全く同じ意味
echo "$a $hello","\n";
// "japan"を値とする$world
echo "$world","\n";

// 可変変数の再帰的変数
echo "■可変変数の再帰的変数\n";
$a     "Hello";
$Hello "World";
$World "Japan";
$Japan "a";

echo 
$a,"\n"// Hello
echo $$a,"\n"// World
echo $$$a,"\n"// Japan
echo $$$$a,"\n"// a
echo $$$$$a,"\n"// Hello
echo $$$$$$a,"\n"// World
echo $$$$$$$a,"\n"// Japan

/** ---------------------------------
 * 配列の可変変数の要素の構文:
 *   「$a[1]」変数として使用「${$a[1]}」
 *   変数の添え字のとき「${$a}[1]」
 */
$aryFrt = array("cherry""banana""lemon");
$a      "aryFrt";
${
$a}[] = "melon"// $$a[] = "melon"は、Fatal Errorとなる
print_r($aryFrt);
print_r(${$a});
?>