Saya menghadapi masalah apabila menggunakan PHP untuk perbandingan rentetan, seperti yang ditunjukkan dalam kod:
<?php
var_dump('00E73694765433'=='0'); //true
var_dump('0134b40fsbi94u8'=='0'); //false
var_dump('0134b40fsbi94u8'=='134'); //false
echo PHP_EOL;
var_dump(is_numeric('00E73694765433'));//true
var_dump(is_numeric('0134b40fsbi94u8'));//false
?>
Keputusan pertama yang diperoleh adalah benar, manakala yang kedua adalah palsu. Selepas melihat melalui dokumen rasmi, jika yang pertama terpaksa ditukar kepada nombor 0, maka yang kedua perlu dipaksa untuk ditukar kepada 134, tetapi jika ia ditukar kepada 134, yang ketiga harus betul.
Saya mencetak dua rentetan, dan hasilnya sangat pelik. Saya tidak dapat memahaminya selepas membaca dokumen rasmi.
http://www.php.net/manual/zh/...
var_dump('0134b40fsbi94u8'=='134'); //palsu ialah perbandingan
Disebabkan semuanya rentetan, kita bandingkan digit pertama dahulu Hasil perbandingan digit pertama adalah perbandingan antara 0 dan 1, jadi ia adalah palsu
另外 字符串之间的不建议使用比较运算符直接去比较大小,要是在需要比较php也提供了一些字符的比较函数
Untuk membandingkan jenis data yang berbeza, sebaiknya gunakan operator yang kongruen === dan !== yang kongruen
.Oleh kerana pengendali perbandingan yang kongruen === dan yang tidak kongruen !== akan menyemak jenis:
Dalam satu perkataan, apabila membandingkan, cuba gunakan === dan!== bukannya == dan!=.
Selain itu, PHP juga menyediakan satu siri fungsi semakan jenis:
Sesetengah fungsi juga menyediakan parameter semakan jenis, yang perlu diberi perhatian, seperti:
Jika nilai parameter ketiga adalah benar, fungsi juga akan menyemak sama ada jenisnya adalah sama.
Selain itu, PHP juga menyokong pengendali perbandingan ==,!=,===,!== untuk membandingkan sama ada dua tatasusunan atau dua objek adalah sama.
PHP juga menyokong pengendali perbandingan (==,!=,===,!==) untuk menentukan sama ada dua objek adalah sama:
Rentetan pertama anda betul-betul menepati notasi saintifik.
Untuk bahasa yang mempunyai sekatan jenis yang longgar, selalunya terdapat perangkap sedemikian dalam berita.
Cuba gunakan cek yang ditaip ketat
Untuk bahasa yang ditaip lemah seperti php, anda boleh gunakan
===
就别用==