in_array
ik verwacht 0 maar hij echo't 1
wat is hier fout ?
Gesponsorde koppelingen:
hmm, als je hem op strict zet, (in_array)
dan geeft ie niks :S
dan geeft ie niks :S
NEE , maar dan geeft ie ook niks als ie het wel zou moeten !! ?? !!
P wordt waarschijnlijk getypecaste naar een int. Dan wordt dat een 0.
Zie ook maar met array_search
Dat dat wat je nu doet niet werkt klopt want:
Nummers horen niet tussen quotes (' of "), dan zijn het strings!
Edit: Ga jij maar language.types leren.
Edit2: @Hieronder, Koen, lees dit bericht. Dan weet je waarom die het wél doet en die andere het niet doet.
Zie ook maar met array_search
Dat dat wat je nu doet niet werkt klopt want:
Nummers horen niet tussen quotes (' of "), dan zijn het strings!
Edit: Ga jij maar language.types leren.
Edit2: @Hieronder, Koen, lees dit bericht. Dan weet je waarom die het wél doet en die andere het niet doet.
Gewijzigd op 01/01/1970 01:00:00 door Karl Karl
als je in dit geval:
gebruikt doet ie je fout niet, maar de goeie wel
edit:
@karl, daarom had ik dit geplaatst, om daar op te wijzen,
maar je had al uitleg geplaatst ;)
gebruikt doet ie je fout niet, maar de goeie wel
edit:
@karl, daarom had ik dit geplaatst, om daar op te wijzen,
maar je had al uitleg geplaatst ;)
Gewijzigd op 01/01/1970 01:00:00 door koen
Dat dit nog problemen kan opleveren (had ik niet verwacht)
"Nummers horen niet .... "
:) @karl hangt van situatie af , kan natuurlijk wel , ik wil ook zoeken naar tekst
array_search is hier ook niet helemaal handig (doet het wel) , maar:
beide geven 0 en daaar kom je ook niet verder mee . . .
[ edit @ karl
maar ik wil ook dit kunnen checken (vandaar dus als strings )
$c=range(0,9);
echo in_array('w',$c);
en dat kan weer niet . .
]
"Nummers horen niet .... "
:) @karl hangt van situatie af , kan natuurlijk wel , ik wil ook zoeken naar tekst
array_search is hier ook niet helemaal handig (doet het wel) , maar:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$c=range('0','9');
echo array_search('rt',$c);
$c=range('0','9');
echo array_search('0',$c);
?>
$c=range('0','9');
echo array_search('rt',$c);
$c=range('0','9');
echo array_search('0',$c);
?>
beide geven 0 en daaar kom je ook niet verder mee . . .
[ edit @ karl
maar ik wil ook dit kunnen checken (vandaar dus als strings )
$c=range(0,9);
echo in_array('w',$c);
en dat kan weer niet . .
]
Gewijzigd op 01/01/1970 01:00:00 door - Roland -
omg, hij vind in die tweede je 0 wel, maar echoed de 0 die die dan vind...
uitgeschreven:
"hmm waar vind je '0' in $c,
op plaats 0 van de array...
wat staat daar? '0'.
en die moet geechoed:
'0'
klaar..."
snappie?
uitgeschreven:
"hmm waar vind je '0' in $c,
op plaats 0 van de array...
wat staat daar? '0'.
en die moet geechoed:
'0'
klaar..."
snappie?
Gewijzigd op 01/01/1970 01:00:00 door koen
Ja koen, dat had ik ook reeds bedacht, snappie :) ?
maar feit blijft dat het dus ook hiermee niet simpel is te testen
maar feit blijft dat het dus ook hiermee niet simpel is te testen
//met === false vergelijken of het daadwerkelijk false is (en dus niet een 0)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
roland schreef op 10.11.2009 11:24:
"Nummers horen niet .... "
:) @karl hangt van situatie af , kan natuurlijk wel , ik wil ook zoeken naar tekst
:) @karl hangt van situatie af , kan natuurlijk wel , ik wil ook zoeken naar tekst
Nee, nummers horen niet tussen quotes.
Je kunt natuurlijk wel een string hebben met een nummer erin:
Met die string kan je niet rekenen.
Als je wilt rekenen, dan moet je het zo doen:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$appels = 5;
$peren = 4;
$blaat = 'ik heb '. $appels . ' appels en ' . $peren . ' peren, samen is dat ' $appels + $peren;
?>
$appels = 5;
$peren = 4;
$blaat = 'ik heb '. $appels . ' appels en ' . $peren . ' peren, samen is dat ' $appels + $peren;
?>
roland schreef op 10.11.2009 11:24:
array_search is hier ook niet helemaal handig (doet het wel) , maar:
beide geven 0 en daaar kom je ook niet verder mee . . .
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$c=range('0','9');
echo array_search('rt',$c);
$c=range('0','9');
echo array_search('0',$c);
?>
$c=range('0','9');
echo array_search('rt',$c);
$c=range('0','9');
echo array_search('0',$c);
?>
beide geven 0 en daaar kom je ook niet verder mee . . .
Jawel, nu zie je dus dat die strings getype caste wordt naar 0 welke dus wel in die array zit, dat het is het nulde element van die array. Zie ook language.types.type-juggling en heb je al language.types geleerd? Volgens mij niet.
koen schreef op 10.11.2009 11:27:
omg, hij vind in die tweede je 0 wel, maar echoed de 0 die die dan vind...
uitgeschreven:
"hmm waar vind je '0' in $c,
op plaats 0 van de array...
wat staat daar? '0'.
en die moet geechoed:
'0'
klaar..."
snappie?
uitgeschreven:
"hmm waar vind je '0' in $c,
op plaats 0 van de array...
wat staat daar? '0'.
en die moet geechoed:
'0'
klaar..."
snappie?
Jij gaat ook maar mooi php leren. Je kunt er geen ene ruk van. Ik leg het gewoon uit, en dan snap je het nog niet.
@jullie beide, ik roep dan wel leuk wat functie's, kijk dan ook wat ze doen i.p.v. blind overnemen zie bijvoorbeeld:
array_search
Ik maak er ook niet voor niks overal een linkie van. Dan kan je d'r op klikken. Is wat makkelijker voor jullie.
Het staat er zelfs bij
Eerst lezen en dan pas vragen, niet eerst vragen en dan pas lezen.
php.net:
Warning
This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.
This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.
Eerst lezen en dan pas vragen, niet eerst vragen en dan pas lezen.



