Rumah pembangunan bahagian belakang tutorial php PHP字符串 ==比较运算符的副作用_php技巧

PHP字符串 ==比较运算符的副作用_php技巧

May 17, 2016 am 09:29 AM
rentetan php

复制代码 代码如下:

$a = '212345678912000005';
$b = '212345678912000001';
var_dump($a == $b);

这段代码的输出是bool(true), 说明这样判断会得出结论是两者相等. 类似的特性在in_array()函数第3个参数为false或者不设置的情况. 原因是首先判断字符串是否是数字, 然后转换成long或者double(C语言数据类型)再判断 - 使用zendi_smart_strcmp. 但是, 源码中的注释说声明考虑了溢出的情况,
复制代码 代码如下:

} else if (dval1 == dval2 && !zend_finite(dval1)) {
    /* Both values overflowed and have the same sign,
     * so a numeric comparison would be inaccurate */
    goto string_cmp;
}

dval1和dval2分别是两个字符串转换为double型后的值. 但为什么还是这样呢? 也许这个判断并不正确. 进一步研究再说...

解决方法, 使用三个等号"==="代替两个等号"==", in_array()函数设置第三个参数为true: in_array('val', $array, true).
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menukar aksara kepada kod ascii dalam php Bagaimana untuk menukar aksara kepada kod ascii dalam php Mar 03, 2023 pm 06:55 PM

Dalam PHP, anda boleh menggunakan fungsi ord() untuk menukar aksara kepada kod ascii. Fungsi ini boleh mengembalikan nilai ASCII bagi satu aksara atau aksara pertama dalam rentetan Nilai ASCII yang dikembalikan akan dipaparkan dalam bentuk integer sintaks "ord (rentetan)", parameter "rentetan" tidak boleh ditinggalkan, ia adalah rentetan (atau aksara tunggal) dari mana nilai ASCII akan diperolehi.

Bagaimana untuk menggantikan aksara tertentu menjadi kosong dalam rentetan php Bagaimana untuk menggantikan aksara tertentu menjadi kosong dalam rentetan php Mar 06, 2023 pm 06:39 PM

Terdapat dua cara untuk menggantikan aksara tertentu dengan aksara null dalam rentetan PHP: 1. Gunakan fungsi str_replace() untuk menggantikan aksara yang ditentukan dengan aksara null Anda hanya perlu menetapkan parameter pertama kepada aksara yang ditentukan dan parameter kedua kepada aksara nol. preg_replace('/specified character/', "",$str)".

Bagaimana untuk mengalih keluar semua huruf besar daripada rentetan dalam php Bagaimana untuk mengalih keluar semua huruf besar daripada rentetan dalam php Sep 26, 2022 pm 07:59 PM

Dua kaedah pengalihan keluar: 1. Gunakan preg_replace() untuk melaksanakan ungkapan biasa untuk mencari semua huruf besar dan menggantikannya dengan aksara nol Sintaksnya ialah "preg_replace('/[A-Z]/','',$str)". 2. Gunakan preg_filter() untuk melaksanakan ungkapan biasa untuk mencari semua huruf besar dan menggantikannya dengan aksara kosong Sintaksnya ialah "preg_filter('/[A-Z]/','',$str)".

Bagaimana untuk mengalih keluar aksara kiri dan kanan daripada rentetan dalam php Bagaimana untuk mengalih keluar aksara kiri dan kanan daripada rentetan dalam php Mar 27, 2023 pm 03:29 PM

PHP ialah bahasa pengaturcaraan bertaip yang sering digunakan untuk membangunkan aplikasi web. Semasa pembangunan web, anda mungkin perlu melakukan pelbagai operasi pada rentetan, seperti mengalih keluar aksara tertentu daripada rentetan, mengekalkan nombor atau huruf dalam rentetan, dsb. Dalam artikel ini, kami akan memberi tumpuan kepada cara mengalih keluar aksara tertentu di sebelah kiri atau kanan rentetan dalam PHP.

Bagaimana untuk mengekstrak hanya aksara Cina daripada rentetan php Bagaimana untuk mengekstrak hanya aksara Cina daripada rentetan php Sep 22, 2022 pm 07:44 PM

Dua kaedah: 1. Gunakan preg_match_all() untuk menapis rentetan dengan keteraturan, sintaksnya ialah "preg_match_all("/[\x{4e00}-\x{9fff}] /u","$str",$arr);" ; 2. Gunakan preg_replace() dengan rentetan carian biasa untuk mencari huruf bukan Cina dalam rentetan dan menggantikannya dengan aksara kosong Sintaksnya ialah "preg_replace("/[^\x{4E00}-\x{9FFF} ] /u",' ',$str)".

Bagaimana untuk membuang petikan berganda daripada rentetan dalam php Bagaimana untuk membuang petikan berganda daripada rentetan dalam php Mar 28, 2023 pm 04:54 PM

PHP ialah bahasa pengaturcaraan yang sangat popular dan salah satu alat pilihan untuk membina laman web dinamik. Dalam pembangunan PHP, kita selalunya perlu mengendalikan rentetan, dan satu keperluan biasa ialah mengalih keluar petikan berganda daripada rentetan. Dalam artikel ini, kami akan memperkenalkan beberapa kaedah untuk mengalih keluar petikan berganda daripada rentetan PHP.

Adakah mungkin untuk menambah aksara pada rentetan dalam php? Adakah mungkin untuk menambah aksara pada rentetan dalam php? Aug 19, 2022 pm 07:51 PM

PHP boleh menambah aksara pada rentetan. Dua kaedah pelaksanaan: 1. Gunakan penyambung rentetan "." untuk menyambung aksara yang ditentukan ke permulaan atau penghujung rentetan Sintaks ialah "aksara yang ditentukan. rentetan" atau "rentetan. aksara yang ditentukan" 2. gunakan substr_replace. ) fungsi memasukkan aksara yang ditentukan pada kedudukan yang ditentukan dalam rentetan Sintaks ialah "substr_replace(rentetan, aksara yang ditentukan, kedudukan yang ditentukan, 0)".

Apakah pembatas rentetan dalam php? Apakah pembatas rentetan dalam php? Sep 23, 2022 pm 05:48 PM

Terdapat dua jenis pembatas rentetan PHP: 1. Pembatas Heredoc Selepas pengendali "<<<", pengecam mesti disediakan, diikuti dengan baris baharu, diikuti oleh rentetan itu sendiri, dan akhirnya pengecam yang ditakrifkan sebelum ini mesti digunakan. sebagai tanda tamat. 2. Pembatas Nowdoc Selepas pengendali "<<<", pengecam yang disertakan dalam petikan tunggal mesti disediakan, diikuti dengan baris baharu, diikuti dengan rentetan itu sendiri, dan akhirnya pengecam yang ditakrifkan sebelum ini mesti digunakan sebagai tanda akhir.

See all articles