PHPの文字列比較
typecho
typecho 2017-06-16 09:18:38
0
4
993

PHP を使用して文字列比較を行ったときに、次のコードに示すような落とし穴に遭遇しました。 リーリー

最初の結果は true で、2 番目の結果は false です。公式文書を眺めてみると、1つ目を強制的に数字の0に変換するなら2つ目は134に強制変換するべきですが、134に変換するなら3つ目は正しいはずです。

2つの文字列を出力したところ、結果が非​​常におかしく、公式ドキュメントを読んでも理解できませんでした。アドバイスをお願いします。

typecho
typecho

Following the voice in heart.

全員に返信(4)
左手右手慢动作

http://www.php.net/manual/zh/...

var_dump('0134b40fsbi94u8'=='134'); //false は比較です

全て文字列なので最初の桁を比較します 1桁目の比較結果は0と1の比較なので偽になります

リーリー リーリー

另外 字符串之间的不建议使用比较运算符直接去比较大小,要是在需要比较php也提供了一些字符的比较函数

いいねを押す +0
学习ing

異なるタイプのデータを比較するには、一致 === 演算子と不一致 !== 演算子を使用するのが最善です。
比較演算子一致 === と不一致 !== は型をチェックするためです。 リーリー

つまり、比較するときは、== と!= の代わりに === と!== を使用するようにしてください。

さらに、PHP は一連の型チェック関数も提供します:

リーリー

一部の関数は、次のような型チェック パラメーターも提供するため、注意が必要です。 リーリー

3 番目のパラメータの値が true の場合、関数は型が同じかどうかもチェックします。

さらに、PHP は、2 つの配列または 2 つのオブジェクトが等しいかどうかを比較する比較演算子 ==,!=,===,!== もサポートしています。

リーリー

PHP は、2 つのオブジェクトが等しいかどうかを判断するための比較演算子 (==,!=,===,!==) もサポートしています:

リーリー
いいねを押す +0
仅有的幸福

最初の文字列は科学表記法に正確に準拠しています。
型制限が緩い言語の場合、そのような落とし穴がよくニュースになります。

厳密に型指定されたチェックを使用するようにしてください

いいねを押す +0
習慣沉默

PHP のような弱く型付けされた言語の場合は、===就别用==

を使用できます
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート