2016-03-31 39 views
0

1.List項目警告:strpos()預計至多3個參數,23給出page.php文件第9行

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

這意味着它正是它的狀態。有23個參數傳遞給strpos函數,它需要3個。你的例子還說,你不能正確地格式化代碼,即使你把它發佈到QA站點並尋求幫助。 – Pred

回答

1

由於strpos()不會與工作因此您需要添加),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

1

你必須做這樣的

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

您需要知道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; } 
1

PHP strpos並不多(OR/||)條件單strpos功能工作。

按照文檔:strpos查找字符串中的字符串的第一個出現的位置

爲了使它工作,你需要多strposIF聲明

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

echo 'Founded'; 
} 
1

至於其他提到的人,你應該知道什麼strpos預計,請在此處查看:strpos 以下建議旨在減少對條碼的多種函數調用

因爲你有很多不同的值,我會建議其他方法。如果你的字符串只包含你正在搜索的值,我會去找一個數組,並且條件可以使用if (in_array($ultravariable, $arrayWithPossibleValues)) { } $arrayWithPossibleValues應該是你正在搜索wach值的數組。

如果你正在搜索的字符串(超變量)確實保存更多的數據,但你只需要檢查它是否以你的不同值開始,那麼我會去找一個preg_match

if (preg_match("/^(value1|value2|value3)/", $ultravariable)) { } 在這裏,您將用value1,value2等替換您的可能值,並記住將它們與|分開。

希望這可以幫助

相關問題