ホームページ >バックエンド開発 >PHPチュートリアル >$p = $p == '' ? '1' : $p;このように変数を定義すると何が問題になるのでしょうか?

$p = $p == '' ? '1' : $p;このように変数を定義すると何が問題になるのでしょうか?

WBOY
WBOYオリジナル
2016-06-20 12:42:08791ブラウズ

コンピューターにコピーすると正常に動作するのはなぜですか? &p がページ値として使用されているため、すべての関数が最初に $p でエラーを報告します。


ディスカッション(解決策)への返信

質問してくださいポスター p = $p == '' ? "1" : $p; これは三項演算ですか?

$p = $p == '' ? "1" : $p;
通知: 未定義の変数: p エラーの警告が表示されます
理由は、E_NOTICE をブロックしていないためです。レベルのエラー、つまり、次のようにします。

緩い書き方は
$p = @$p == '' ? "1" : $p; です。書き方は
$p = ! isset($p) || $p == '' ? "1" : $p;
$p = $ と書くことができます。 p ?? "1";

2L さん、ありがとうございます。とても不幸です。 $p の問題は解決されました。
しかし、まだ多くの注意: 未定義の問題があります。コンピューターを変更することによる違いは非常に大きいことがわかりました。プログラム内の

error_reporting(E_ALL ^ E_NOTICE);
error_reporting = E_ALL ^ E_NOTICE in php.ini

その後、 Notice: Unknown が消えます



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。