Karakters binnen een string
Ik ben op zoek naar een methode om te kijken of bepaalde karakters in een string voorkomen. Ik wil alleen weten of een van de karakters die ik heb opgegeven in de tekst voorkomt. Ik hoef dus niet de lokatie, aantal x etc te weten.
Dus een boolean als een string bijvoorbeeld een @ of & of * of alledrie bevat.
Dus een boolean als een string bijvoorbeeld een @ of & of * of alledrie bevat.
ik betwijfel of strpos wel een array accepteerd.
Gebruik deze functie:
http://www.php.net/manual/en/function.strpbrk.php
Gebruik deze functie:
http://www.php.net/manual/en/function.strpbrk.php
Inderdaad, strpos kan geen array aan.
strpbrk lijkt wel te werken:
strpbrk lijkt wel te werken:
Code (php)
Gewijzigd op 03/10/2012 14:17:37 door Sander Z
@ of & of *
Blijf ik liever bij die van mij, die is korter simpeler en iets sneller.
Als ik met jouw methode op zoek ga naar bv 20 karakters en de 1e wordt al gevonden dan draait jouw loop daarna alsnog 19x voor alle andere items. Hij voert welliswaar niets uit, maar checked wel.
Dan zou je eerder de volgende methode moeten gebruiken:
Als er dan resultaat gevonden wordt, maak je $i gelijk aan een hogere waarde waardoor de for loop geen nieuwe loop meer start. Wordt dan bij de 1e loop al iets gevonden, dan gaat hij niet nogmaals 19x een loop draaien zonder iets uit te voeren.
Als ik met jouw methode op zoek ga naar bv 20 karakters en de 1e wordt al gevonden dan draait jouw loop daarna alsnog 19x voor alle andere items. Hij voert welliswaar niets uit, maar checked wel.
Dan zou je eerder de volgende methode moeten gebruiken:
Code (php)
1
2
3
4
2
3
4
for ($i = 0; $i < count($tekens) ; $i++)
// En als er dan resultaat gevonden is:
$i=999;
// En als er dan resultaat gevonden is:
$i=999;
Als er dan resultaat gevonden wordt, maak je $i gelijk aan een hogere waarde waardoor de for loop geen nieuwe loop meer start. Wordt dan bij de 1e loop al iets gevonden, dan gaat hij niet nogmaals 19x een loop draaien zonder iets uit te voeren.
Euh... daar hebben we de functie break voor... ;-)
@ozzie, break kan idd ook.
@stef Kijk lekker kort! Dank je!
@stef Kijk lekker kort! Dank je!




