首页 > php教程 > php手册 > 正文

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

WBOY
发布: 2016-06-21 09:07:08
原创
1283 人浏览过

字符串

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

由于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() 比较好



相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板