gpt4 book ai didi

php - 为什么使用 !== FALSE 来检查 php 中的 stripos?

转载 作者:IT王子 更新时间:2023-10-29 00:04:35 24 4
gpt4 key购买 nike

这是我正在查看的代码。

foreach ($header as $idx => $field) {
if (stripos($field, 'foo') !== false) {
$cols['foo'] = $idx;
} else if (stripos($field, 'bar') !== false) {
$cols['bar'] = $idx;
} else if (stripos($field, 'brr') !== false) {
$cols['brr'] = $idx;
} else if (stripos($field, 'ffo') !== false) {
$cols['ffo'] = $idx;
}
}

抱歉,我也不知道如何漂亮地格式化代码,如有任何提示,我们将不胜感激。

我正在看一些比我聪明得多的人写的代码,所以我不愿意相信我的第一印象,只是将所有内容都更改为 if(stripos($foo)),但为什么要这样做怎么办?

最佳答案

答案是,在 PHP 中,一个“假”值可以由少数几个值来满足,例如空数组、空字符串、NULL、整数 0 等。请参阅 empty() 函数页面以获得完整列表:

http://php.net/empty

所以这总是会产生不正确的结果:

if(strpos("abc", "a")) { 
echo "Yes";
} else {
echo "No";
}

因为“a”出现在第一个位置(索引 0),所以 PHP 认为“if (0)”为假。

当 strpos 没有在你的大海捞针中找到针时,它将返回 bool 值 FALSE,这是你想用三等号运算符检查类型和值的结果。查看比较运算符的文档

http://www.php.net/manual/en/language.operators.comparison.php

关于php - 为什么使用 !== FALSE 来检查 php 中的 stripos?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/699507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com