__isset内の実際のコードでエラーが発生しますが、「run phponlinewebsite」にアクセスすると機能します。そのため、コードで機能しない理由がわかりません。
<?
class Test {
private $args;
public function __construct($args = array()) {
$this->args = $args;
}
public function __isset($name) {
return $this->args[$name]; //undefined index on my server (is fine on php site)
}
function prnt() {
// echo isset($this->i) ? "set" : "notset"; --> works, both print 'set'
echo isset($this->h) ? "set" : "notset";
}
}
?>
次に、これを実行します。
$test = new Test(array('i' => '1234'));
$test->prnt();
//result on php website: notset
//result on my website: Undefined index at the line shown above.
おそらく役立つ情報:
私のサーバーはphp5.1を実行しています。
これは私の実際のコードisset($this->var)
のファイルで起こっています。
(上記のように)変数が存在する限り、それは明らかに機能します。include
i