Re: [PHP] assignment operator works for comparison??
Hi, Dan wrote: if($shiny = 0){ This does not compare anyting, it assigns 0 to $shiny yes i know, but shouldnt this operation return true? No, it doesn't return true. The "=" operator returns the value of the expression on its right hand side. Therefore, the statement given above is equivalent to (as far as the if is concerned): if (0) { because the "=" operator returns 0, the value on its right hand side. That is why a statement like: a = b = c = 2 sets all the above variables to 2. Otherwise, if it were to operate the way you think it should, it would set "c" to 2 and "a" and "b" to "true" ;-). Hope that clears up things for you. -- Regards, Harshdeep Singh Jawanda. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP] assignment operator works for comparison??
Dan wrote: This confused me for awhile, because the single equal sign seemed to work for comparison, but created inexplicable errors in my programs. It seems strange to me that a successful variable value assignment does not return true. example: ? $shiny = 1; if($shiny = 0){ echo("This wont print"); } echo( $shiny ); //this will return 0 ? --Dan -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED] Okay... First: Checking if $shiny equals 0: if ($shiny == 0) { But that's already been discussed. If you _realy_ want to check if the assignment succeeded: if (($shiny = 0) == 0) { Try the following example: - $a = "Hello"; $b = "Wold"; if ($b == $a) print "Yes, b equals aBR\n"; else print "No, b doesn't equal aBR\n"; if (($b = $a) == $a) print "Yes... now b equals aBR\n"; else print "Oops... b still doesn't equal a!BR\n"; - Output will be: No, b doesn't equal a Yes... now b equals a -- * RzE: *** ** Renze Munnik ** ** E: [EMAIL PROTECTED] ** M: +31 6 218 111 43 *** -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP] assignment operator works for comparison??
if($shiny = 0){ This does not compare anyting, it assigns 0 to $shiny echo( $shiny ) // this will return 0 That's normal, you just assign 0 to it ;) = assignment operator == comparison operator py At 01:53 PM 4/10/01 -0700, you wrote: This confused me for awhile, because the single equal sign seemed to work for comparison, but created inexplicable errors in my programs. It seems strange to me that a successful variable value assignment does not return true. example: ? $shiny = 1; if($shiny = 0){ echo("This wont print"); } echo( $shiny ); //this will return 0 ? --Dan -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED] + == + Pierre-Yves Lem@ire + E-MedHosting.com + (514) 729-8100 + [EMAIL PROTECTED] + == -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP] assignment operator works for comparison??
if($shiny = 0){ This does not compare anyting, it assigns 0 to $shiny yes i know, but shouldnt this operation return true? echo( $shiny ) // this will return 0 That's normal, you just assign 0 to it ;) = assignment operator == comparison operator py At 01:53 PM 4/10/01 -0700, you wrote: This confused me for awhile, because the single equal sign seemed to work for comparison, but created inexplicable errors in my programs. It seems strange to me that a successful variable value assignment does not return true. example: ? $shiny = 1; if($shiny = 0){ echo("This wont print"); } echo( $shiny ); //this will return 0 ? --Dan -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED] + == + Pierre-Yves Lem@ire + E-MedHosting.com + (514) 729-8100 + [EMAIL PROTECTED] + == -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
RE: [PHP] assignment operator works for comparison??
It looks to me like the value of an assignment is the value assigned, as in Perl. But I don't know for sure, haven't come across this in the manual. Kirk -Original Message- From: Dan [mailto:[EMAIL PROTECTED]] Sent: Tuesday, April 10, 2001 3:29 PM To: [EMAIL PROTECTED] Subject: Re: [PHP] assignment operator works for comparison?? if($shiny = 0){ This does not compare anyting, it assigns 0 to $shiny yes i know, but shouldnt this operation return true? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP] assignment operator works for comparison??
You are right, thank you. It looks to me like the value of an assignment is the value assigned, as in Perl. But I don't know for sure, haven't come across this in the manual. Kirk if($shiny = 0){ This does not compare anyting, it assigns 0 to $shiny yes i know, but shouldnt this operation return true? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]
Re: [PHP] assignment operator works for comparison??
if($shiny = 0) This line is the same as if ((shiny = 0) == TRUE) It's common error with PHP and C. You could make use of this like if ($fp = fopen($filename,'r')) since this is the same as if (($fp = fopen($filename,'r')) == TRUE) code after this line is executed when fopen() success to open file. Regards, -- Yasuo Ohgaki ""Dan"" [EMAIL PROTECTED] wrote in message 9avrti$olc$[EMAIL PROTECTED]">news:9avrti$olc$[EMAIL PROTECTED]... This confused me for awhile, because the single equal sign seemed to work for comparison, but created inexplicable errors in my programs. It seems strange to me that a successful variable value assignment does not return true. example: ? $shiny = 1; if($shiny = 0){ echo("This wont print"); } echo( $shiny ); //this will return 0 ? --Dan -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]