[PHP-users 759] 可変変数? と配列、関数
Osamu Shigematsu
php-users@php.gr.jp
Thu, 19 Jul 2001 11:35:44 +0900
重松と申します。
可変変数、というのでしょうか、$$ というふうに変数の前に記述する構文ですが、
ちょっと理解不能な症状で困っています。
<?php
print "test<br>";
$x = "em_report";
$$x = array(1=>"Hello",2=>"world");
print $$x[2] . "<br>";
?>
というコードを実行したのですが、私は、「world」を期待するのですが、どうもそ
のように動きません。
test
/usr/local/apache/bin/httpd
という結果になります。
function my_func($v){
print $v;
}
$func = "my_func";
$$func("Hello");
も動きません。クラスのメソッドは同じようにして呼ぶことができます。
# これは、call_user_function を使って解決できました。
何か根本的に誤解しているのでしょうか?
http://www.php.net/manual/ja/language.variables.variable.php
には特にヒントはないようでした。
PHP のバージョンは、3.0.15 です。
--
Osamu Shigematsu
http://www.ravi.ne.jp/
mailto:shige@ravi.ne.jp