警告:strpos() 最多需要 3 个参数,第 9 行的 page.php 中给出了 23 个
Warning: strpos() expects at most 3 parameters, 23 given in page.php on line 9
1.List 项
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; }
你已经这样做了
if (strpos($page_name_ulter, 'dissertation') !== false || strpos($page_name_ulter, 'vendor')!== false and so on
你需要知道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; }
PHP strpos
不适用于单个 strpos
函数中的多个 ( OR / || ) 条件。
根据文档:strpos
查找字符串中子字符串第一次出现的位置
要使其正常工作,您需要多个 strpos
和 IF
语句
if (
strpos($page_name_ulter,'dissertation') !== false ||
strpos($page_name_ulter,'vendor') !== false
) {
echo 'Founded';
}
由于 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()
正如其他人提到的,您应该知道 strpos
期望什么,只需看这里:strpos
下面的建议是减少对strpos
的多次函数调用
因为你有这么多不同的值,我会建议其他方法。如果您的字符串只包含您要搜索的值,我会选择一个数组,条件可以使用 if (in_array($ultravariable, $arrayWithPossibleValues)) { }
$arrayWithPossibleValues
应该是保存您正在搜索的 wach 值的数组。
如果您正在搜索的字符串(ultra 变量)确实包含更多数据,但您只需要检查它是否以您的不同值开头,那么我会选择 preg_match
。
if ( preg_match("/^(value1|value2|value3)/", $ultravariable)) { }
在这里,您可以将可能的值替换为 value1、value2 等,并记住用 |
.
分隔它们
希望对您有所帮助
1.List 项
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; }
你已经这样做了
if (strpos($page_name_ulter, 'dissertation') !== false || strpos($page_name_ulter, 'vendor')!== false and so on
你需要知道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; }
PHP strpos
不适用于单个 strpos
函数中的多个 ( OR / || ) 条件。
根据文档:strpos
查找字符串中子字符串第一次出现的位置
要使其正常工作,您需要多个 strpos
和 IF
语句
if (
strpos($page_name_ulter,'dissertation') !== false ||
strpos($page_name_ulter,'vendor') !== false
) {
echo 'Founded';
}
由于 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()
正如其他人提到的,您应该知道 strpos
期望什么,只需看这里:strpos
下面的建议是减少对strpos
因为你有这么多不同的值,我会建议其他方法。如果您的字符串只包含您要搜索的值,我会选择一个数组,条件可以使用 if (in_array($ultravariable, $arrayWithPossibleValues)) { }
$arrayWithPossibleValues
应该是保存您正在搜索的 wach 值的数组。
如果您正在搜索的字符串(ultra 变量)确实包含更多数据,但您只需要检查它是否以您的不同值开头,那么我会选择 preg_match
。
if ( preg_match("/^(value1|value2|value3)/", $ultravariable)) { }
在这里,您可以将可能的值替换为 value1、value2 等,并记住用 |
.
希望对您有所帮助