ホームページ >バックエンド開発 >PHPチュートリアル >php if_PHP チュートリアルから思い浮かぶいくつかの質問

php if_PHP チュートリアルから思い浮かぶいくつかの質問

WBOY
WBOYオリジナル
2016-07-21 15:53:331017ブラウズ

コードをコピーします コードは次のとおりです:

/* PHP code */
header("Content-type: text/javascript")
if (!haveCookie('cookieName); ')) {
// ... 何かをします
?>
/* Javascript コード */
if ('unknown' == typeof document.cookie['cookieName']) {
setCookie('cookieName', 3600) );
}

// ... Javascript で何かをする
}
?>

一見すると、コードは完璧に見えますが、親愛なる Xiao Ma がまだ問題を発見しました。 Javascript におけるその判断は常に true です

コードをコピーします コードは次のとおりです:

if ('unknown' == typeof document.cookie['cookieName']) {
// ...
}

このコードはPHP側に前提があるため、

if(!haveCookie('cookieName'))の場合のみクライアントに表示されます。そして、この条件が満たされない場合、当然このコードはクライアントにスローされません。これを言うのは少し一般的だと思われるので、最初に Javascript コードを脇に置き、単純に PHP コードを使用して説明しましょう

コードをコピーします コードは次のとおりです:

header("Content-type: text/javascript ");
if (!haveCookie('cookieName')) {
if (!haveCookie('cookieName')) {
setCookie('cookieName');
?>


これで明確になります 多くのことを学び、問題を見つけるのは簡単でした -- これはクライアント側の Javascript によって実行されましたが、うっかりもう 1 つ判断してしまいました。

要約すると、このコードから私が考えたナンセンスのいくつかがここにあります:

コードが長ければ長いほど効率が上がるとは限りません
ロジックやプロセスに影響を与えずに、複数の判断をまとめて書いてみてください
試してみてくださいコードをできるだけ少なくする 複雑さの高い関数は事前に判断されます
過度の判断はプログラムの効率の低下につながりやすいため、判断に時間計算量の高い関数を使用する場合は特に注意してください
if が入れ子になりすぎていることに気付いた場合は、プロセスやアルゴリズムを見直すこと
過剰な判断では堅牢なコードは保証されない
コードを簡略化すると、未発見の問題が多数発見される
過剰な判断は、別の角度から理解すると、コードに対する自信の欠如である
最後に、改めてありがとうシャオ・マ同志。


http://www.bkjia.com/PHPjc/318665.html

tru​​ehttp://www.bkjia.com/PHPjc/318665.html技術記事次のようにコードをコピーします。 ?php /*PHPcode*/ header("Content-type:text/javascript"); if(!haveCookie('cookieName')){ //...dosomething ? ( '未定義'==ドキュメントの種類...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。