この記事では、PHPの弱い型付け言語における型判定操作を主に紹介し、PHPにおけるデータ型の変換、判定、関数の使用スキルと注意点をサンプルの形で分析しています。この記事では、PHP の弱い型付け言語での型判定操作について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
1. PHP が数値と文字列を比較したり、演算を実行したりする場合、PHP は文字列を数値に変換してから比較します。 PHP 変換の規則は、文字列が数字で始まる場合はその先頭の数字が変換結果として使用され、そうでない場合は 0 が出力されます。例: 123abc は変換後 123 になるはずで、abc は 0、0==0 になります。詳細については、公式マニュアルを参照してください。整数と文字列を比較する場合は、文字列が返されます。は整数
$a = ($b=4)+5; echo $a; //9 echo ''; var_dump(1=='1a'); //true echo '
'; var_dump(1=='2a'); //false echo '
'; var_dump(1=='a1'); //false echo '
'; var_dump("1"=='1a'); //false echo '
'; var_dump('51a'+6); //57 echo '
'; var_dump('a51'+6); //6
$a = null; $b = ''; $c = 0; echo ($a == $b) ? 1 : 0; // 输出1 echo ($a === $b) ? 1 : 0; // 输出0 echo ($a == $c) ? 1 : 0; // 输出1 echo ($a === $c) ? 1 : 0; // 输出0 echo ($b == $c) ? 1 : 0; // 输出1 echo ($b === $c) ? 1 : 0; // 输出0
のempty関数とisset関数1) 変数が0、"0"、null、''、false、array()、の場合空の関数を使用すると、すべての戻り値が true になります
2) 変数が未定義または null の場合、isset 関数は false を返し、他の関数は明らかに true ではありません。これは、abc 文字列に a が含まれているかどうかを判断するためです。期待される結果は 1 であるはずですが、実際の結果は 2 です。これは、strpos 関数が目的の文字列と一致しない場合に false を返し、検索文字列のインデックス位置で目的の文字列を返すためです。
$a = null; $b = ''; $c = 0; $d = "0"; $e = false; $f = array(); var_dump(empty($a)); //true echo ''; var_dump(empty($b)); //true echo '
'; var_dump(empty($c)); //true echo '
'; var_dump(empty($d)); //true echo '
'; var_dump(empty($e)); //true echo '
'; var_dump(empty($f)); //true echo '
'; var_dump(isset($a)); //false echo '
'; var_dump(isset($b)); //true echo '
'; var_dump(isset($c)); //true echo '
'; var_dump(isset($d)); //true echo '
'; var_dump(isset($e)); //true echo '
'; var_dump(isset($f)); //true echo '
'; var_dump(isset($g)); //false
5.改行にはダブルクォーテーションが必要です
$sms = "abc"; if(strpos($sms,'a') != false ){ echo 1; }else{ echo 2; }
このように書くと、ファイルを開くと次のようになります2016-09-02 08:04:04rn2016-09-02 08 :04:05rn2016-09-02 08: 04:05rn2016-09-02 08:04:05rn2016-09-02 08:04:22
正しい書き方はrnで、二重引用符で囲みます
以上がPHPの弱い型付け言語における型判定の解析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。