Array values schneller checken

tach community,

irgendwie mag ich mir code sparen…
aber ich hab noch keine idee wie ich das anstellen soll.

ich habe immer wieder das szenario, dass ich
bedingungen aus einem array abfrage…
doof formuliert.
also… eine ausschlussliste in einem array zum beispiel.

foreach($iterrItem as $item){
 foreach($doNotUseArr as $forbidden){
 if($item === $forbidden){ // do not }else{ // do }
 }
}

ich moechte mir eignetlich das durchlaufen sparen.
gibts dafuer vielleicht sogar eine funktion in PHP ?

grusz

PixelKoenig

kannst du das mal pls anhand eines beispieles erklären?
ich versteh aktuell nicht was du da machen möchtest.

LG
Phillip

hi phillip …

ist dochn beispiel drinne…
ich suche nach einer funktion die sowas erledigt wie

is_in_array($item,$array)

so dass ich nicht selbst den array durchlaufen muss…
sondern dass ich einfach diese funktion benutze…
ok. ich koennte sie selbst schreiben… aber warum das rad neu erfinden.

gibts eine funktion , der man zum beispiel zwei values uebergeben kann (zbsp einen String und einen array) … die einem TRUE zurueckgibt, wenn der STRING im ARRAY ist ?

grusz

PixelKoenig

das hier?

http://de3.php.net/manual/de/function.in-array.php

LG
Phillip

maeuseschwaenze sind gar nicht so haesslich

verkrieche mich in ein mauseloch und beantrage beitragsloeschung…

das hier?
http://de3.php.net/manual/de/function.in-array.php

ja. natuerlich das.
*augenroll*

danke …

-)

Pixel

also… eine ausschlussliste in einem array zum beispiel.

foreach($iterrItem as $item){
foreach($doNotUseArr as $forbidden){
if($item === $forbidden){ // do not }else{ // do }
}
}

du durchlaeufst fuer jedes element aus $iterrItem die liste $doNotUseArr, um alle elemnte in $iterrItem zu frinden, die auch in $doNotUseArr enthalten sind, richtig?

mit in_array aus der anderen antort wirst du jetzt fuer jedes element aus $doNotUseArr pruefen, ob es in $iterrItem enthalten ist?

du bildest also schnittmengen und das sollte mit http://php.net/array_intersect, resp. http://php.net/array_diff sehr angenehm funktionieren.