2016-03-31 14 views
0

1.List madde üzerinde page.php verilen beklediğiniUyarı: strpos() en fazla 3 parametre de, 23 hat 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

Tam olarak ne ifade ettiği anlamına gelir. Strpos işlevine aktarılan 23 parametre vardır, 3 bekler. Örneğiniz ek olarak, bir QA sitesine yüklediğinizde ve çoğaltma yardımı aradığınızda bile kodunuzu gerektiği gibi biçimlendiremeyeceğinizi belirtir. – Pred

cevap

1

strpos() yana çalışmaz birden strpos Tablosu IF ile ihtiyaç çalışmasını sağlamak için bir dize bir alt dize ilk geçtiği yerini bulur strpos Birden çok && OR || koşulları, ), strpos ve !== false'u aşağıdaki gibi eklemeniz gerekir:

işlevi hakkında daha detaylı bilgi için
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

Not: - Daha iyi bir çözüm bunun için preg_match()

Kontrol kılavuzu kullanıyor: - http://php.net/manual/en/function.preg-match.php başka sözü biri olarak

1

Eğer sen gerek bu

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

gibi yapmak zorunda strpos() işlevinin temel durumunu bilir.

strpos (dize, bulmak başlangıç)

Ama durumda strpos() fonksiyonunda sadece koşul geçmektedir. yanlış Thats .. Bu

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 tek strpos işlevinde çoklu (OR/||) koşulu ile çalışmıyor

kontrol edin.

docs gereğince:

Eğer

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

echo 'Founded'; 
} 
1

, bilmen gereken şey strpos, sadece bir göz atmanızı bekliyor: strpos Aşağıdaki öneriler çok işlevli çağrıları azaltmak için

Çok farklı değerlere sahip olduğunuz için başka yöntemler öneririm. Dizginiz yalnızca aradığınız değeri içeriyorsa, bir dizi için gidip durumun if (in_array($ultravariable, $arrayWithPossibleValues)) { } $arrayWithPossibleValues'u kullanabilmesi için aradığınız dizi beklemede kalma değeri olmalıdır.

Aramakta olduğunuz dizge (ultra değişken) gerçekten daha fazla veri tutuyorsa, ancak bunun farklı değerlerle başladığını kontrol etmeniz gerekiyorsa, o zaman ben preg_match için giderdim.

if (preg_match("/^(value1|value2|value3)/", $ultravariable)) { } Burada vb değer1'e, value2 ile olası değerlerin yerine ve | onları ayırmak için hatırlayacaktı.

Bu yardımcı olur