警告:strpos()最多需要3个参数,在第9行的page.php中给出23个[关闭]

1.List item

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; }

Since strpos() will not work with multiple && OR || conditions, So you need to add ), strpos and !== false like below:

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; }

For more details about function :- http://php.net/manual/en/function.strpos.php

Note:- More better solution is using preg_match()

Check manual for it:- http://php.net/manual/en/function.preg-match.php

you have do it like this

if (strpos($page_name_ulter, 'dissertation') !== false ||  strpos($page_name_ulter, 'vendor')!== false  and so on

You need to know the basic sentance of strpos() function.

strpos(string,find,start)

But in your case you pass only condition in strpos() function. Thats wrong..

Check This

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 doesn't work with multiple ( OR / || ) condition in single strpos function.

As per docs : strpos Find the position of the first occurrence of a substring in a string

To make it work you need multiple strpos with IF Statement

if (
strpos($page_name_ulter,'dissertation') !== false || 
strpos($page_name_ulter,'vendor') !== false
) {

echo 'Founded';
}

As someone else mentioned, you should know what strpos expects, just take a look here: strpos The following suggestions is to reduce the many function calls to strpos

Because you have so many different values, i would suggest other methods. If your string only contains the value you're searching for, i would go for an array and the condition could use if (in_array($ultravariable, $arrayWithPossibleValues)) { } $arrayWithPossibleValues should then be the array holding wach value you are searching for.

If the string you're searching in (the ultra variable) does indeed hold more data, but you just need to check that it starts with your different values, then i would go for a preg_match.

if ( preg_match("/^(value1|value2|value3)/", $ultravariable)) { } Here you would replace your possible values with value1, value2 etc, and remember to separate them with |.

Hope this helps