Avatar billede mysitesolution Nybegynder
13. oktober 2004 - 22:38 Der er 5 kommentarer og
1 løsning

Om et tegn er i teksten

Hej... mangler en if funktion der kan fortælle om et bestemt tegn (":") er i teksten.
Avatar billede googolplex Novice
13. oktober 2004 - 22:40 #1
strstr()
Avatar billede googolplex Novice
13. oktober 2004 - 22:42 #2
$haystack = 'Din streng';
$needle = ':';

if (strstr($haystack, $needle))
{
    echo 'Fundet!';
}
else
(
    edho 'Ikke fundet';
)
Avatar billede erikjacobsen Ekspert
13. oktober 2004 - 22:47 #3
strpos siges at være hurtigere:

  if (strpos($dinstreng,";")===false) {
    //den var der ikke
  }
Avatar billede googolplex Novice
13. oktober 2004 - 22:50 #4
Ja, men det lyder bedre at sige strstr, i forhold til strpos :-)
Avatar billede googolplex Novice
13. oktober 2004 - 22:59 #5
Regarding the note of the manual concerning the speed of strstr against strpos, for people who wants to check a needle occurs within haystack, it apprears that strstr() is in facts faster than strpos().

Example:
<?php
// [VERY] Quick email check:
if ( strstr("email@domain.tld", "@") ) {
// Ok
}
?>

is faster than

<?php
if ( strpos("email@domain.tld", "@") !== FALSE ) {
// Ok
}

Without using the true equality with !==, strpos() is faster. But then if the haystack starts with needle the condition whould not be met.
Avatar billede erikjacobsen Ekspert
13. oktober 2004 - 23:11 #6
Men læg mærke til at manualen ikke er ændret i sin beskrivelse til
trods for det indlæg. Det er muligt at strstr kan være hurtigere
i visse tilfælde, meget små strenge, og det er muligt indlægget er
forkert, jeg ved det ikke. Men det er nemt at lave en test, der
viser at strpos er hurtigst.

Men der er ikke den store forskel - 20-30% hvis jeg husker rigtigt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester