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
