2016-06-24 13 views
-3

Was ist falsch in der Array-Bedingung? Auch wenn corps einem dieser Werte gleich ist es nicht die if Zustand betretenIch versuche, viele Werte in PHP mit Array zu überprüfen

while($row = $req->fetch()){ 

    $corps= $row->NVCDC; 
    $list_ex = array("201","20","25","204"); 
    if(in_array($corps, $list_ex)){ 
    $daten = $row->DTN; 
    $daterec = $row->DTR; 
    if($daten < $daterec){ 
     //do something 
    } 
+1

vorhanden sein muss Bitte klären Sie, was das aktuelle Verhalten ist und was Sie erwarten oder wollen sein. –

+0

Was ist die Ausgabe von: 'var_dump ($ corps);'? – Rizier123

+0

was ich erwarte ist, wenn die Variable $ corps ist gleich 201 oder 20 oder 25 oder 204 Es muss in die nächste bloq was ist: $ daten = $ row-> DTN; $ daterec = $ row-> DTR; if ($ daten <$ datetrec) { // etwas tun } – Davina

Antwort

0
<?php 
//If $corps is a array u must do it this way 
$corps = ["201","20"]; 
$list_ex = array("201","20","25","204"); 
foreach($corps as $corp) 
{ 
    if(in_array($corp, $list_ex)) 
     echo "yes\n"; 
} //Will echo Yes 2 time 

//If $corps is a string or number 
$corps = "201"; 
$list_ex = array("201","20","25","204"); 
if(in_array($corps, $list_ex)) 
{ 
    echo "yes"; 
}//Will echo yes 1 time 
?> 

Doppel den Wert von $ corps überprüfen, es vielleicht ein Array oder der Wert ist nicht das, was u denken, es ist wenn es ein Array dann der gleiche "Array" in den $ list_ex

wenn $ corps == [20201] $ Liste muss $ Liste hat [[20201]] für in_array zurückzukehren TRUE

+0

$ Corps ist eine Variable aus einer Datenbank gettet – Davina

+0

var_dump ($ Corps) überprüfen Sie den Typ und Wert – greenseed

+0

es ist ein varchar und ich bin mir sicher dass der Wert einer der aufgelisteten Werte in Array ist – Davina