in vari zoeken

Status
Niet open voor verdere reacties.

gebruiker35

Gebruiker
Lid geworden
29 mrt 2008
Berichten
434
ik heb al dagen internet afgestruind, maar het wil maar niet lukken.
ik wil controleren of de variabele $foto in $zz zit, met wat voor tekens erom heen dan ook. dus GEEN spaties ervoor of naast. als dat zo is moet ie t een en ander doen. maar het wil niet lukken...
 
PHP:
<?php
if(eregi($foto, $zz))
{
echo "\$foto zit in \$zz";
}
else
{
echo "\$foto zit <b>niet</b> in \$zz";
}
?>
 
hij geeft dan het volgende:

Code:
welk (9).JPG zit niet in ||welk (8).jpg||welk (9).JPG||welk (9).JPG||welk (9).JPG||welk (9).JPG||welk (9).JPG||welk (9).JPG||welk (9).JPG||welk (9).JPG||welk (9).JPG||welk (9).JPG||welk (9).JPG||welk (9).JPG

naar mijn idee klopt dat niet. en zit het er wel in. ik weet niet wat jullie er van denken
 
Laatst bewerkt:
Het lijkt erop dat de string waar je door zoekt eerst een array was en geimplode is met '||'.

Heb ik dat goed?

Want als dat zo is, kun je beter de array doorzoeken:

PHP:
function arrayContains ( $needle, $haystack ) {

  $found = false;

  foreach ( $haystack as $item ) {

    if ( substr_count ( $item, $needle ) > 0 ) {

      $found = true;

    }

  }

  return $found;

}

Je kunt trouwens ook bij het zoeken door een string beter substr_count($needle, $haystack) gebruiken dan een regexp functie, aangezien die veel sneller is.
 
Laatst bewerkt:
Mis ik nou iets of kun je niet beter voor het zoeken in een array in_array() gebruiken :(
 
Als het letterlijk de waarde in de array is wel ja. Maar volgens mij mag het in dit geval ook een deel van de array-waarde zijn. Dan werkt in_array() toch niet?
 
Dan mis ik dat inderdaad :D

Werk je niet met een database?
Gezien de beperkte omschrijving weten we niet veel.

Je wilt het op deze manier maar wellicht kan het in de context van het geheel wel op een betere/makkelijkere manier.
 
nee, werk niet met een database (weer eens niet beschikbaar, om gek van te worden).

en inderdaad is het uit een array.
 
ik heb nu de functie in_array(); gebruikt, en dat het alle tekens erom moest dulden was vanwege de || van de implode, bedankt allemaal!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan