[PHP-dev 1216] クラス内メンバ変数にrangeは、使えない?
Kazuhiro IIzuka
ezka1209 @ at-duplex.bias.ne.jp
2006年 1月 24日 (火) 20:49:46 JST
はじめまして、飯塚です。
クラス内のメンバ変数内にrange関数は使えないのでしょうか?
例えば、次のような、クラスに変数aがあるとします。
// test.php
class A{
var $a = array(
array("b",'test1',array('foo'=>"bar")),
array("c",'test1',array('foo'=>3)),
// array("d",'test1',array("in"=>array(3,4,5)) ),
array("d",'test1',array("in"=>range(3,5)) )
);
}
シェルから、このスクリプトを試すと、次のようなエラーとなってしまいました。
$ php -q test.php
Parse error: parse error, unexpected '(', expecting ')' in
(スクリプトのフルパス) on line (rangeを使った行番号)
このrangeの部分をarray(3,4,5)に書き換えたものにして、rangeを使わずに、
arrayで書き換えたものにすると、正常に、parseできます。
また、クラスの外にこの変数を出してみて、
同様に、シェルからスクリプトを試すと、parseでき、print_rで表示すると、
期待している値となっていることが確認できています。
環境は、PHP 4.4.1/PHP 5.1.2を試してみて、
共にparser errorが出てしまっています。
ざっと、bugs.php.netでみてみたのですが、見つからない。
これって、仕様でしょうか?それとも、PHPのバグなんでしょうか?
PHP-dev メーリングリストの案内