2009-05-26 7 views
8

Czy to możliwe?

muszę sprawdzić, czy zmienna jest istniejący na liście tych, muszę sprawdzić przed i również, że cond2 prawda np

if($row['name'] == ("1" || "2" || "3") && $Cond2){ 
    doThis(); 
} 

To nie działa na mnie i wszystko, co zmieniło się w kopii pasta była moja lista i nazwy zmiennych

Odpowiedz

16
if(in_array($row['name'], array('1', '2', '3')) && $Cond2) { 
    doThis(); 
} 

PHP in_array() dokumentów: http://us.php.net/manual/en/function.in-array.php

+0

Dzięki. Zaakceptowany jako pierwszy – Supernovah

+5

Podobnie jak drobna notatka, w zależności od tego, jak duża jest twoja "tablica wyjątków", możesz umieścić $ Cond2 jako pierwszy element wyrażenia boolowskiego (zakładając, że jest już atomowy, a nie jakaś potencjalnie drogie wywołanie funkcji). – n3rd

+0

Dobra uwaga, n3rd. – ceejayoz

0
$name = $row['name']; 
if (($name == "1" || $name == "2" || $name == "3") && $cond2) 
{ 
    doThis(); 
} 
+1

że istnieje taka możliwość, ale inni są mądrzejsi – Supernovah

+1

Zgadzam się, in_array jest lepszym sposobem na zrobienie tego. –

1

zastosowanie in_array funkcja if (in_array ($ wiersz [ 'Nazwa'] Tablica (1,2,3)) & & $ cond2) { do ... }

3
if (in_array($name , array('Alice' , 'Bob' , 'Charlie')) && $condition2) { 
/* */ 
} 
0

mam coś prostsze, jeśli to jeszcze możliwe ...

if(strpos("1,2,3", $row['name']) !== false) && $Cond2) { 
    doThis(); 
}