0

私はこの問題の原因を解明するために最後の20分間を費やしました。

まずはやります

$this->is_csu = TRUE;

別のクラスでissetを呼び出すと、issetはFALSEを返します。変数をすぐにエコーすると、TRUEが返されます。

echo var_dump(isset($this->is_csu));
echo var_dump($this->is_csu);
die();

結果は次のようになります

bool(false) bool(true)

これが起こっている理由にはいくつかの技術的な理由があると確信していますが、それは今のところ私を超えています。

うまくいけば、誰かがこれにいくつかの光を当てることができます。

4

2 に答える 2

2

おそらくプライベートメンバーでクラスを拡張します。

これがどのように扱われるかについては、 PHPの例を参照してください。

出力を取得する唯一の方法は、クラスでPHPのマジックメソッドを使用することです。次に例を示します。

class A
{
        public function __isset($n)
        {
                $this->$n = TRUE;
        }
}

$bar = new A();
var_dump(isset($bar->foo));
var_dump($bar->foo);

出力:

bool(false)
bool(true)

そのうちの1つを使用しているかどうかはすでにご存知だと思いますが。

于 2012-05-11T14:04:03.627 に答える