/ 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
checke flere værdier i variabel?
Fra : Stig Nørgaard Jepsen


Dato : 27-07-01 10:36

Mit spørgsmål er om det er muligt checke en variabel for mere end en værdi i
en IF-sætning?

Altså fx. istedet for kun at teste $var for "stor":
If ($var == "stor") ....
Er det så også muligt at teste flere variabler uden brug af en masse OR's
imellem...
altså noget lignende:
If ($var == ("stor","større","størst"))...

Mvh Stig



 
 
Henrik Hansen (27-07-2001)
Kommentar
Fra : Henrik Hansen


Dato : 27-07-01 10:40

"Stig Nørgaard Jepsen" <stigen@mail.dk> wrote:

> Mit spørgsmål er om det er muligt checke en variabel for mere end en værdi i
> en IF-sætning?
>
> Altså fx. istedet for kun at teste $var for "stor":
> If ($var == "stor") ....
> Er det så også muligt at teste flere variabler uden brug af en masse OR's
> imellem...
> altså noget lignende:
> If ($var == ("stor","større","størst"))...

en måde at gøre det på er (måske er der flere :):

$str = "hej med dig";
if (ereg("hej|dav|skod", $str)) {
echo "en eller flere er i strengen";
}

--
Henrik Hansen

Stig Nørgaard Jepsen (27-07-2001)
Kommentar
Fra : Stig Nørgaard Jepsen


Dato : 27-07-01 10:48

> $str = "hej med dig";
> if (ereg("hej|dav|skod", $str)) {
> echo "en eller flere er i strengen";
> }

Hvorfor tænkte jeg ikke bare på det? :)

/Stig



Johan (27-07-2001)
Kommentar
Fra : Johan


Dato : 27-07-01 10:59

> $str = "hej med dig";
> if (ereg("hej|dav|skod", $str)) {
> echo "en eller flere er i strengen";
> }

problemet er at "hejsa" "davser" osv også vil ryge igennem, så vær lidt
varsom

mvh

Johan



Stig Nørgaard Jepsen (27-07-2001)
Kommentar
Fra : Stig Nørgaard Jepsen


Dato : 27-07-01 20:15

> > $str = "hej med dig";
> > if (ereg("hej|dav|skod", $str)) {
> > echo "en eller flere er i strengen";
> > }
>
> problemet er at "hejsa" "davser" osv også vil ryge igennem, så vær lidt
> varsom

Det kom jeg faktisk i tanke om. Men glemte det igen.
Er der nogen andre forslag?

/Stig



Jonas Delfs (27-07-2001)
Kommentar
Fra : Jonas Delfs


Dato : 27-07-01 20:22

"Stig Nørgaard Jepsen" <stigen@mail.dk> skrev i en meddelelse
news:3b61bd79$0$51710$edfadb0f@dspool01.news.tele.dk...

> > > $str = "hej med dig";
> > > if (ereg("hej|dav|skod", $str)) {
> > > echo "en eller flere er i strengen";
> > > }
> >
> > problemet er at "hejsa" "davser" osv også vil ryge igennem, så vær lidt
> > varsom
>
> Det kom jeg faktisk i tanke om. Men glemte det igen.
> Er der nogen andre forslag?

$str = "hej med dig";
if (ereg("^(hej|dav|skod)$", $str)) {
echo "en eller flere er i strengen";
}

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk

"Developers are being asked to do more with less, do it faster, and make it
fit with the existing systems and databases." - IDC



Jacob Bunk Nielsen (27-07-2001)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 27-07-01 21:03

"Jonas Delfs" <jonas@nospam.delfs.dk> writes:

> if (ereg("^(hej|dav|skod)$", $str)) {

Men skal det være "simpelt", så kan man naturligvis også bruge:

if ($str == "hej" || $str == "dav" || $str == "skod")
print("et af ordene var med");

.... så er det uden ereg(), og så har man også lært lidt om
||-operatoren

--
Jacob
"There's an old story about the person who wished his computer were
as easy to use as his telephone. That wish has come true, since I no
longer know how to use my telephone." -- Stroustrup

Jonas Delfs (27-07-2001)
Kommentar
Fra : Jonas Delfs


Dato : 27-07-01 21:08

"Jacob Bunk Nielsen" <spam@bunk.cc> skrev i en meddelelse
news:m3itgecf7b.fsf@paven.bunk.cc...

> > if (ereg("^(hej|dav|skod)$", $str)) {
>
> Men skal det være "simpelt", så kan man naturligvis også bruge:
>
> if ($str == "hej" || $str == "dav" || $str == "skod")
> print("et af ordene var med");

"Er det så også muligt at teste flere variabler uden brug af en masse OR's
imellem..."

:)

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk

"Developers are being asked to do more with less, do it faster, and make it
fit with the existing systems and databases." - IDC




Jacob Bunk Nielsen (27-07-2001)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 27-07-01 21:15

"Jonas Delfs" <jonas@nospam.delfs.dk> writes:

> "Er det så også muligt at teste flere variabler uden brug af en masse OR's
> imellem..."

Vupti, jeg overså lige et 'uden'
Men '|' et et regexp er jo også en slags logisk eller :)

--
Jacob
How do I install Linux, there is no setup.exe?

http://www.bunk.cc - nu med Emacs effekt

Stig Nørgaard Jepsen (28-07-2001)
Kommentar
Fra : Stig Nørgaard Jepsen


Dato : 28-07-01 09:16

> > problemet er at "hejsa" "davser" osv også vil ryge igennem, så vær lidt
> > varsom
>
> Det kom jeg faktisk i tanke om. Men glemte det igen.
> Er der nogen andre forslag?

Man kan selvfølgelig også lave det sådan her:
$str = "abc";
if (in_array($str ,array ("abc", "123", "zxy","qpr"))) {
echo "Yep, den findes!<br>";
};


/Stig



Henrik Hansen (27-07-2001)
Kommentar
Fra : Henrik Hansen


Dato : 27-07-01 11:26

"Johan" <tcr480@ofir.dk> wrote:

>> $str = "hej med dig";
>> if (ereg("hej|dav|skod", $str)) {
>> echo "en eller flere er i strengen";
>> }
>
> problemet er at "hejsa" "davser" osv også vil ryge igennem, så vær lidt
> varsom

men hvis der står hejsa indeholder den jo også hej, kommer lidt an på
hvad man vil opnå men tjekket.

--
Henrik Hansen

Henrik Hansen (27-07-2001)
Kommentar
Fra : Henrik Hansen


Dato : 27-07-01 12:18

"Johan" <tcr480@ofir.dk> wrote:

>> >> $str = "hej med dig";
>> >> if (ereg("hej|dav|skod", $str)) {
>> >> echo "en eller flere er i strengen";
>> >> }
>> >
>> > problemet er at "hejsa" "davser" osv også vil ryge igennem, så vær lidt
>> > varsom
>>
>> men hvis der står hejsa indeholder den jo også hej, kommer lidt an på
>> hvad man vil opnå men tjekket.
>
> Jep men personen ville gerne have en nemmere måde at tjekke "if(($var ==
> "hej") || ($var == "farvel"))" og du foreslog "if(ereg("hej|farvel",
> $var))", hvilket ikke før det samme, derfor kan der skabes problemer. Man må
> vel gå ud fra problematikken som brugeren skriver, og du gav muligvis en
> løsning som brugeren kunne bruge, men som ikke kan bruges i alle tilfælde,
> derfor mener jeg det er vigtigt at gøre opmærksom på det. Så eventuelle nye
> brugere ikke bruger koden ved en fejl, og opnår fejl i deres scripts.
>

fair nok :)

--
Henrik Hansen

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

Månedens bedste
Årets bedste
Sidste års bedste