Bu php'nin false'u  0 veya boş olarak kıyaslamasından kaynaklanıyor. Yani

true değişkeni 3 anlama gelirken
(değişken tanımlanmış, true, 1)

false iki anlama geliyor
(değişken boş, 0 )

'false' şeklinde bir string olduğundan, yani $str2 boş olmadığından bu sonuç
dönüyor.


2011/7/6 EKREM KARACA <[email protected]>

> Tüm Linux gönüllülerine merhaba!
>
> PHP'de kendimi geliştirmek adına ufak tefek alıştırmalar yapıyordum. Bir
> gün aşağıdaki şu kodu yazdım:
>
> <?php
>
> function exactEqual($x1, $x2){
>     echo 'First value is '.$x1.'<br />';
>     echo 'Second value is '.$x2.'<br />';
>     if($x1===$x2){
>         return 'Both '.$x1.' and '.$x2.' are exactly equal.<br />';
>     }
>     else if($x1==$x2){
>         return $x1.' and '.$x2.' are equal.<br />';
>     }
>     else {
>         return $x1.' and '.$x2.' are not equal.<br />';
>     }
> }
>
> $str1 = 'true';
> $bool1 = true;
>
> echo exactEqual($str1,$bool1);
>
> $str2 = 'false';
> $bool2 = false;
>
> echo exactEqual($str2,$bool2);
>
> ?>
>
> Görüldüğü üzere çift eşittir ile üç eşitliğin kullanımı ile ilgili yazdığım
> bu fonksiyonda ilk kıyasta "else if", ikinci kıyasta ise "else" bloğu
> çalıştı. Benim de bu durum karşısında kafam biraz karmaşıklığa uğradı. Bu
> durumun neden bu şekilde çıktığını izah edebilir misiniz?
>
> İlginiz için şimdiden teşekkürler!
>
> --
> EKREM KARACA
> Student, Web Designer (RC) &Developer (RC)
> http://facebook.com/biodiscover
> http://twitter.com/ekremkaraca
> http://tr.linkedin.com/in/ekremkaraca
> http://profiles.google.com/biodiscover
>
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
>


-- 
Onur AKTAŞ
Kişisel, http://www.onuraktas.net
Blog, http://www.alonon.net
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap