/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Strengsøgning
Fra : Dieter Britz


Dato : 03-07-11 15:44

Kan det passe at, når men søger en streng indenfor en anden, og
den starter fra første tegn, at resultatet er nul, hvilket er det
samme som at det ikke findes? Fx hvis jeg søger efter "abc" inden
for "abcd", hvad skulle resultatet blive?
--
Dieter Britz

 
 
Birger Sørensen (03-07-2011)
Kommentar
Fra : Birger Sørensen


Dato : 03-07-11 16:11

Dieter Britz formulerede spørgsmålet:
> Kan det passe at, når men søger en streng indenfor en anden, og
> den starter fra første tegn, at resultatet er nul, hvilket er det
> samme som at det ikke findes? Fx hvis jeg søger efter "abc" inden
> for "abcd", hvad skulle resultatet blive?

Ja, det kan det godt.
Nu skriver du ikke hvilken funktion du bruger, men f.eks. strpos()
returnerer falsk eller index i strengen.
Hvis det som i dit tilfælde er først, er index 0.

http://dk.php.net/manual/en/function.strpos.php

Der skal checkes på type såvel som værdi af tekststrengen - f.eks.
if (($i_pos = strpos( 'abcd', 'abc')) !== false {
// gør det du skal her
// $i_pos er index i søgestrengen (abcd), for den streng du søger
(abc)
}
else {
echo 'abc findes ikke i strengen abcd';
}

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Bertel Lund Hansen (03-07-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 03-07-11 18:47

Dieter Britz skrev:

> Kan det passe at, når men søger en streng indenfor en anden, og
> den starter fra første tegn, at resultatet er nul, hvilket er det
> samme som at det ikke findes?

Ja.

> Fx hvis jeg søger efter "abc" inden
> for "abcd", hvad skulle resultatet blive?

Med to lighedstegn får du falsk negativ - svaret 0.
Med trelighedstehn får du det stærke typecheck, og så er 0 og
false to forskellige svar.

Jeg har somme tider snydt ved at søge efter "abc" i " abcde",
eller at søge efter "bc" i "abcde". Ingen af dem kan give 0. Men
nu har jeg vænnet mig til at tænke

   Ved strpos() skal der bruges 3 sammenligningstegn - altid.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste