[PHP-users 23543]":"を含む変数名が使える
Shogo
shogo @ studiofly.net
2004年 11月 5日 (金) 02:23:14 JST
河瀬です。
先日PHPを使ってスクリプトを書いていた際に見つけたPHPの妙な挙動の報告です。
うだうだ口で説明するよりも、以下のコードを見て頂いた方がわかりやすいかと
思います。
sample1.php
<?php
$test:test = "Hello world!!";
echo $test:test;
?>
これは当然、変数名に":"を含んでいるため
Parse error: parse error, unexpected ':' in /***/sample1.php on line 3
というエラーが発生します。しかし、以下のsample2.phpの用に可変変数を利用
するとすんなり実行されてしまうのです……。
sample2.php
<?php
$name = "test:test";
$$name = "Hello world!!";
echo $$name;
?>
……これは仕様なのですかねぇ?色々と検索してみたのですが見つけることがで
きませんでした。既出でしたら申し訳ありません。
# でも、さすがにこれを前提にしたコーディングはまずいですよね?:-)
//---------------------------------------------------
// 河瀬 翔吾 / SHOGO KAWASE <shogo @ studiofly.net>
// studiofly.net : http://www.studiofly.net/
//---------------------------------------------------
PHP-users メーリングリストの案内