Vinzenz Mai: Probleme mit array_search()

Beitrag lesen

Hallo

  

> $gebiet=array(0=>"1",  
>               1=>"7",  
>               2=>11);  

// [...]  

> if ( array_search ( $fachgebiet->id, $gebiet ) )  

Nun wird aber der erste Wert des Arrays, also $gebiet[0] nicht gefunden,

Grundsätzlich ist natürlich, wie Du bereits gelernt hast in_array() die
richtige Wahl.

Du solltest es Dir aber abgewöhnen, solche Konstrukte wie

  

> if ( array_search ( $fachgebiet->id, $gebiet ) )  

zu verwenden. Wie ichen bereits ausgeführt hat, wird der Rückgabewert 0 als
false ausgewertet. Daher teste in vergleichbaren Fällen auf Identität, siehe
http://www.php.net/manual/de/language.operators.comparison.php

  
if ( false !== array_search ( $fachgebiet->id, $gebiet ) )  

Freundliche Grüße

Vinzenz