欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP中用 ^_^==^_^ 作字符串值判断时的注意事项

程序员文章站 2022-05-30 15:14:03
...

字符串

刚好想起来了,顺便在这里发一下. 估计很多新手或老手都会犯这个错误.

由于PHP的数据类型会自动转换, 所以在比较字符串时应该当注意尽量不
要用 "==" 来判断,有时会误判断的.
还是看例子:

$var = "test";
$foo = 0;
echo ($var == $foo); // 结果输出是 1.

有人可能为觉得这个没什么呀,一般来说是不会有这种情况;
事实上当 $foo 的是函数返回值是很容易出这种误判断的.

实际一点,根据我的经验,当你用 MySQL 之类的数据库去执行
SELECT * FROM ... 这时 mysql_fetch...出来的 array 里的
key 有两组, 一组是按 field Name 的,一级是 0, 1, 2 ....如下:

$res = array(
0 => "abc", "key1" => "abc",
1 => "def", "key2" => "def"
);

通过循环读读数组的值,根据其key来判断作操作的话就有问题了.
foreach ($res as $k => $v) {
if ($k == "key2") { // 这里,当 $k 为 0 是表达式也为真!!
// ...
}
}

//
所以在出现字符串比较的地方还是中规一点用 strcmp() 比较好