PHPの&プレフィックスとは何ですか?

php
PHPの&プレフィックスとは何ですか?

_
可能な複製: + https://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean-in-php [リファレンス
– PHPでこの記号はどういう意味ですか?]
_

次のコードの3行目は、ローカル環境では正常に機能しますが、運用サーバーではエラーを返します。

`&`プレフィックスの意味と、実稼働サーバーでエラーが返されるのはなぜですか?

以下は私のコードです。

function add_real_escape_string($value) {
    if (is_array($value)) {
        foreach($value as &$item) {
            $item = add_real_escape_string($item);
        }
    } else {
        if (get_magic_quotes_gpc()) {
            $value = stripslashes($value);
        }
        $value = mysql_real_escape_string($value);
    }
    return $value;
}

返されるエラーは次のとおりです。

_
解析エラー:構文エラー、予期しない ‘&’、345行目のinit.phpにT_VARIABLEまたは ‘$’が必要です
_

  2  0


ベストアンサー

基本的には参照による割り当てです。

この詳細については、PHPマニュアルをご覧ください。http://www.php.net/manual/en/language.references.php [こちら]!

4


&は、コピーではなく参照を渡すことを意味します。つまり、そのオブジェクトに加えたすべての変更は、使用されているスコープの外側にも反映されます。 詳細については、http://php.net/manual/en/language.references.pass.phpを参照してください。

エラーを説明するには、発生しているエラーを知る必要があります。 貼り付けていただけますか?

2


&プレフィックスは参照演算子です。 Cなどの低レベル言語から継承された原則です。 これは、変数のコピーを関数やループ演算子などに渡すのではなく、メモリにアドレスを渡すようにPHPに要求することを意味します。 そうすれば、参照によって与えられた変数はメモリ内で一度だけ宣言されます。 さらに、すべての典型的な変数操作を実行できます…​

また、Cから継承された参照の祖先であるポインターを確認することもできます。

2


変数の前に「&」を付けると、その変数の参照を取得していることになります。

たとえば、http://php.net/manual/en/language.references.pass.php [reference。]で渡すことができます。

1


引数を参照として渡すようにします:http://www.php.net/manual/en/functions.arguments.php

1


参照によって変数を渡すためです。つまり、関数内で変数を変更すると、外部から渡された変数も変更されます。

1


タイトルとURLをコピーしました