0

このコードが機能しないのはなぜですか?

public function get($key) {
    return isset($_SESSION[$key]) ? &$_SESSION[$key] : false;
}

エラー

Parse error: syntax error, unexpected '&' in C:\Arquivos de programas\EasyPHP-5.3.3\www\myphpblog\code\sessionstorage.class.php on line 12

ありがとうございました。

4

3 に答える 3

0

三項演算子は実際には 3 つのです。たとえば、expr1? expr2 : expr3;

参照を返す の注を参照してください。

次の構文を使用して関数から参照を返そうとすると、return ($this->value);参照によって変数ではなく式の結果を返そうとしているため、これは機能しません。関数からの参照によってのみ変数を返すことができます。それ以外は何もありません。

于 2010-10-28T14:51:49.633 に答える
0

PHP で参照を返すための構文は&<function name>(){ return <referece> } また、Only variable references should be returned by reference

したがって、おそらく次のように書き直す必要があります。

function &get($key) {
    $a = false;
    if( isset($_SESSION[$key]) )
        return $_SESSION[ $key ];
    return $a;
}
于 2010-10-28T14:52:32.363 に答える
0

& を削除するだけで機能します。ダー...

于 2010-10-28T15:06:22.723 に答える