Waarom print onderstaande PHP functie 'Hello' uit ondanks dat het argument
'abcdef' is?
<?php
function test($argument) {
if($argument == 0) {
echo 'Hello';
}
}
test('abcdef');
?>
Marcel
Likes: 0
Waarom print onderstaande PHP functie 'Hello' uit ondanks dat het argument
'abcdef' is?
<?php
function test($argument) {
if($argument == 0) {
echo 'Hello';
}
}
test('abcdef');
?>
Marcel
MaMo wrote:
> Waarom print onderstaande PHP functie 'Hello' uit ondanks dat het argument
> 'abcdef' is?
>
> <?php
>
> function test($argument) {
>
> if($argument == 0) {
> echo 'Hello';
> }
>
> }
>
> test('abcdef');
>
> ?>
Omdat de conversie van de string 'abcdef' naar een integer 0 oplevert. Er
zitten immers geen cijfers in. Als je if($argument) of
if(isset($argument)) gebruikt gaat het waarschijnlijk zoals je verwacht.
MaMo:
> Waarom print onderstaande PHP functie 'Hello' uit ondanks dat het argument
> 'abcdef' is?
>
> <?php
>
> function test($argument) {
>
> if($argument == 0) {
> echo 'Hello';
> }
>
> }
>
> test('abcdef');
>
> ?>
Het heeft er mee te maken dat je een numerieke uitvraging doet op een
alfanumerieke string. Bij de omzetting van deze string naar numeriek
wordt de waarde (min of meer) nul, en klopt de uitvraging.
Probeer eens
if($argument == "0")
en zie het verschil.
--
Erick
"Erick T. Barkhuis" <erick.use-net@ardane.c-o-m> wrote in message
news:MPG.23d6ac26c514fd0a9897ba@127.0.0.1...
> MaMo:
>> Waarom print onderstaande PHP functie 'Hello' uit ondanks dat het
>> argument
>> 'abcdef' is?
>>
>> <?php
>>
>> function test($argument) {
>>
>> if($argument == 0) {
>> echo 'Hello';
>> }
>>
>> }
>>
>> test('abcdef');
>>
>> ?>
>
> Het heeft er mee te maken dat je een numerieke uitvraging doet op een
> alfanumerieke string. Bij de omzetting van deze string naar numeriek
> wordt de waarde (min of meer) nul, en klopt de uitvraging.
>
> Probeer eens
> if($argument == "0")
> en zie het verschil.
>
>
> --
> Erick
Dank!
Erick T Barkhuis <erick.use-net@ardane.c-o-m>:
> Het heeft er mee te maken dat je een numerieke uitvraging doet op een
> alfanumerieke string. Bij de omzetting van deze string naar numeriek
> wordt de waarde (min of meer) nul, en klopt de uitvraging.
>
> Probeer eens
> if($argument == "0")
> en zie het verschil.
Of eventueel met de === operator:
if ($argument === 0)
(ervan uitgaande dat er getest moet worden op een integer 0)
--
robert
robert:
> Erick T Barkhuis <erick.use-net@ardane.c-o-m>:
> > Probeer eens
> > if($argument == "0")
> > en zie het verschil.
>
> Of eventueel met de === operator:
> if ($argument === 0)
>
> (ervan uitgaande dat er getest moet worden op een integer 0)
P'cies. Daarom schreef ik ook:
> (min of meer) nul
Ik vond het in dit verband niet echt noodzakelijk verder uit te wijden
over het verschil tussen == en ===. Immers, het lijkt er op dat de OP
alleen maar een testje of een schoolopdracht uitvoerde, en niet bezig
was een oerdegelijke applicatie op te zetten.
--
Erick
Erick T Barkhuis <erick.use-net@ardane.c-o-m>:
> Immers, het lijkt er op dat de OP alleen maar een testje of een
> schoolopdracht uitvoerde, en niet bezig was een oerdegelijke applicatie
> op te zetten.
Dat ik me daar zo in kan vergissen, ik zag de nieuwe Google al vormgegeven
worden...
--
robert
robert:
> Erick T Barkhuis <erick.use-net@ardane.c-o-m>:
> > Immers, het lijkt er op dat de OP alleen maar een testje of een
> > schoolopdracht uitvoerde, en niet bezig was een oerdegelijke applicatie
> > op te zetten.
>
> Dat ik me daar zo in kan vergissen, ik zag de nieuwe Google al vormgegeven
> worden...
Snel!
Alle aandelen "MaMo" kun je nu nog voor een prikkie kopen!
--
Erick
On Jan 13, 2:32 pm, Erick T. Barkhuis <erick.use-...@ardane.c-o-m>
wrote:
> robert:
>
> > Erick T Barkhuis <erick.use-...@ardane.c-o-m>:
> > > Immers, het lijkt er op dat de OP alleen maar een testje of een
> > > schoolopdracht uitvoerde, en niet bezig was een oerdegelijke applicatie
> > > op te zetten.
>
> > Dat ik me daar zo in kan vergissen, ik zag de nieuwe Google al vormgegeven
> > worden...
>
> Snel!
> Alle aandelen "MaMo" kun je nu nog voor een prikkie kopen!
Klinkt net als Zato :-) Nu maar hopen dat het echt zo is zodat ik hier
de bbc kan
ontvangen.....
Hans