#19575 [Asn->Csd]: Boolean prints 1 for TRUE but nothing for FALSE

From: Date: Mon, 04 Nov 2002 11:04:26 +0000
Subject: #19575 [Asn->Csd]: Boolean prints 1 for TRUE but nothing for FALSE
References: 1  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969349407@lists.php.net to get a copy of this message
ID: 19575 Updated by: goba@php.net Reported By: jc@mega-bucks.co.jp -Status: Assigned +Status: Closed Bug Type: Documentation problem Operating System: Red Hat Linux 7.2 PHP Version: 4.2.3 Assigned To: goba New Comment: I have just fixed this, it will show up in some days on the PHP site... Previous Comments: ------------------------------------------------------------------------ [2002-10-07 01:58:38] goba@php.net I'll correct this sometime later if noone picks it up. I have no time now, sorry. ------------------------------------------------------------------------ [2002-10-06 21:25:28] jc@mega-bucks.co.jp Goba: I understand the need for such a feature I just don't like the implementation. But hey, I don't like loosely typed languaged in the first place ;) But ... all I'm asking for is better documentation. I didn't expect this behaviour and couldn't find any documentation to help figureout why what I was not expecting was happening. ------------------------------------------------------------------------ [2002-10-05 10:04:48] goba@php.net This feature(!) is there so you can convert from booleans to strings, then back to booleans or to integers and then to booleans, and you get the same boolean you started from... boolean -> string -> boolean TRUE "1" TRUE FALSE "" FALSE boolean -> string -> integer -> boolean TRUE "1" 1 TRUE FALSE "" 0 FALSE In php code: $false_bool = (boolean) (int) (string) FALSE; Goba ------------------------------------------------------------------------ [2002-10-05 09:58:17] iliaa@php.net Dupe of bug #18411 ------------------------------------------------------------------------ [2002-09-24 06:56:43] jc@mega-bucks.co.jp A boolean of TRUE will print as "1" whereas FALSE prints as "" This has caused me a problem since I had assume that TRUE would print as TRUE and FALSE would print as FALSE. Could you add this to the documentation. I could understand 1/0, TRUE/FALSE, but "1"/"" is not evident at first. I'd even suggest a change request that booleans print out as TRUE/FALSE (since booleans really should not be 1/0 integers or empty/non-empty strings but BOOLEANS) but I'm sure that would ge shot down. :) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=19575&edit=1

« previous php.doc (#969349407) next »