1.列出项目
if (strpos($page_name_ulter, 'dissertation' || $page_name_ulter, 'vendor' || $page_name_ulter, 'js' || $page_name_ulter, 'css' || $page_name_ulter, 'bootstrap' || $page_name_ulter, 'CI3Xmuqx6MsCFcJf2wod6s0P9Q' || $page_name_ulter, 'vendor' || $page_name_ulter, 'vendor' || $page_name_ulter, '=' || $page_name_ulter, 'essay?' || $page_name_ulter, 'input' || $page_name_ulter, 'main.js' || $page_name_ulter, 'main' || $page_name_ulter, 'php/js' || $page_name_ulter, '/' || $page_name_ulter, '.js' || $page_name_ulter, 'rating' || $page_name_ulter, 'intlTelInput' || $page_name_ulter, '.min' || $page_name_ulter, 'images') !== false) { return false; }
由于strpos()
无法在多个&& OR ||
条件下工作,因此您需要添加)
、strpos
和!== false
,如下所示:
if (strpos($page_name_ulter, 'dissertation') !== false || strpos($page_name_ulter, 'vendor') !== false || strpos($page_name_ulter, 'js') !== false || strpos($page_name_ulter, 'css') !== false || strpos($page_name_ulter, 'bootstrap') !== false || strpos($page_name_ulter, 'CI3Xmuqx6MsCFcJf2wod6s0P9Q') !== false ||strpos($page_name_ulter, 'vendor') !== false || strpos($page_name_ulter, 'vendor') !== false || strpos($page_name_ulter, '=') !== false || strpos($page_name_ulter, 'essay?') !== false || strpos($page_name_ulter, 'input') !== false || strpos($page_name_ulter, 'main.js') !== false || strpos($page_name_ulter, 'main') !== false || strpos($page_name_ulter, 'php/js') !== false || strpos($page_name_ulter, '/') !== false || strpos($page_name_ulter, '.js') !== false || strpos($page_name_ulter, 'rating') !== false || strpos($page_name_ulter, 'intlTelInput') !== false || strpos($page_name_ulter, '.min') !== false || strpos($page_name_ulter, 'images') !== false) { return false; }
有关功能的更多详细信息:-http://php.net/manual/en/function.strpos.php
注:-更好的解决方案是使用preg_match()
查看手册:-http://php.net/manual/en/function.preg-match.php
你必须这样做
if (strpos($page_name_ulter, 'dissertation') !== false || strpos($page_name_ulter, 'vendor')!== false and so on
PHP strpos
不适用于单个strpos
函数中的多个(OR/||)条件。
根据文档:strpos
在字符串中查找子字符串第一次出现的位置
要使其工作,您需要多个strpos
和IF
语句
if (
strpos($page_name_ulter,'dissertation') !== false ||
strpos($page_name_ulter,'vendor') !== false
) {
echo 'Founded';
}
您需要了解strpos()函数的基本表示。
strpos(字符串、查找、启动)
但在您的情况下,您只传递strpos()函数中的条件。这是错误的。。
检查此
if (strpos($page_name_ulter, 'dissertation') !== false || strpos($page_name_ulter, 'vendor') !== false || strpos($page_name_ulter, 'js') !== false || strpos($page_name_ulter, 'css') !== false || strpos($page_name_ulter, 'bootstrap') !== false || strpos($page_name_ulter, 'CI3Xmuqx6MsCFcJf2wod6s0P9Q') !== false ||strpos($page_name_ulter, 'vendor') !== false || strpos($page_name_ulter, 'vendor') !== false || strpos($page_name_ulter, '=') !== false || strpos($page_name_ulter, 'essay?') !== false || strpos($page_name_ulter, 'input') !== false || strpos($page_name_ulter, 'main.js') !== false || strpos($page_name_ulter, 'main') !== false || strpos($page_name_ulter, 'php/js') !== false || strpos($page_name_ulter, '/') !== false || strpos($page_name_ulter, '.js') !== false || strpos($page_name_ulter, 'rating') !== false || strpos($page_name_ulter, 'intlTelInput') !== false || strpos($page_name_ulter, '.min') !== false || strpos($page_name_ulter, 'images') !== false) { return false; }
正如其他人所提到的,您应该知道strpos
的期望,只需看看这里:strpos以下建议是减少对strpos 的多次函数调用
因为你有很多不同的价值观,我建议你采取其他方法。如果你的字符串只包含你正在搜索的值,我会选择一个数组,条件可以使用if (in_array($ultravariable, $arrayWithPossibleValues)) { }
$arrayWithPossibleValues
应该是包含您正在搜索的wach值的数组。
如果你正在搜索的字符串(超变量)确实包含了更多的数据,但你只需要检查它是否以不同的值开始,那么我会选择preg_match
。
if ( preg_match("/^(value1|value2|value3)/", $ultravariable)) { }
在这里,您可以将可能的值替换为value1、value2等,并记住用|
分隔它们。
希望这能帮助