phpの@記号の機能とphp関数の前の&記号の機能

WBOY
リリース: 2016-06-13 13:20:32
オリジナル
1212 人が閲覧しました

PHP における @ 記号の役割と PHP 関数の前の & 記号の役割

機能?エラーを隠すために使用されます
2. いつ使用しますか?エラーによってはプログラムが終了してしまうこともありますが、実は単なるレイアウトエラーの可能性もあります。ちょっとしたエラーでプログラムが終了してしまうのは絶対に良くないので、エラーが予想される箇所の前に「@」を付けてください。エラーによるプログラムの中断を防ぎます。例: "$con =@mysql_connect($MYhost,$DB_name,$DB_PassWord);"
3. 注意すべき点は何ですか?
@ はエラーを隠すだけですが、解決しません。

?

?

2 番目の質問の答え:

?

?

php 関数の前のアンパサンドの役割:
以下のコードを見てください。関数 test の前にアンパサンドがあります。
function &test(){
// 静的変数を宣言します
static $b=0;
$b=$b+1;
echo $b;
return $b;
}
メソッドの呼び出しと出力結果は次のようになります:
$a=test();//このステートメントは、$b の値が 1 であることを出力します
$a=5;
$a=test(); //このステートメントは $b の値が 2
$a=&test() を出力します。//このステートメントは $b の値が 3 を出力します
$a=5;
$a= test();//このステートメントは、$b の値が 6 であることを出力します
説明:
このように、$a=test(); は実際には関数の参照戻りではありません。通常の関数呼び出しと変わりません。
理由としては、これは PHP の規定です。
PHP では、関数の参照戻り値は $a=&test(); で取得することが規定されています。は参照戻り値です (PHP マニュアルには、「参照戻り値は、参照をバインドする必要がある変数を見つけるために関数を使用したい場合に使用されます。」と書かれています。)
マニュアルのこの文は理解しにくいかもしれません。以下の説明を参照してください:
$a=test() メソッドで関数を呼び出します。これは関数の値を $a に割り当てるだけであり、$a への変更は関数内の $b には影響しません。
そして $a=&test() を通じて関数を呼び出すと、その関数は $b 変数のメモリ アドレスを返し、$a 変数のメモリ アドレス
は同じ場所を指します。 🎜> は同等の効果 ($a=&b;) を生成するため、$a を変更します。その値により $b の値も変更されるため、実行後:
$a=&test();
$a=5;
の場合、$b の値は 5


になります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!