ID:               20644
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Open
-Bug Type:         Scripting Engine problem
+Bug Type:         Documentation problem
 Operating System: all
 PHP Version:      4.3.0-dev
 New Comment:

it's still not a bug, and there was some discussion about this on
php-dev or some other list a while ago..can't find that now thouhg, but
there was also "fix" for this, but it was reverted. (iirc)



Previous Comments:
------------------------------------------------------------------------

[2002-11-27 02:56:32] [EMAIL PROTECTED]

Please explain how this is to be documented (why this isn't a bug) as I
fail to understand the seemingly inconsistent behavior of this
example:

$t = true;
$a = $t + 1; (same as $t += 1; // 2)
$b = ++$t;

print "a: $a b: $b"; // a: 2 b: 1

In otherwords, incrementing/decrementing a boolean keeps it as boolean
while adding an integer, such as 1, changes it to an integer.

Reclassifying as a scripting engine problem so php-dev gets this
report.  Please provide a documentable reason for this behavior.

------------------------------------------------------------------------

[2002-11-27 01:49:34] [EMAIL PROTECTED]

Reclassified.


------------------------------------------------------------------------

[2002-11-27 01:24:49] [EMAIL PROTECTED]

it was really an user error, sorry.
i found than "++" operator doesn't make type conversion from boolean to
int, and if variable is boolean and equals TRUE than after ++ it
remains as TRUE, so

$a = TRUE; echo ($a++).$a;

produces output "11"
this behavior of increment operator was unexpected to me and i suppose
that it can be the same to others, so i wrote an user note at "type
juggling" part at online documentation

------------------------------------------------------------------------

[2002-11-26 20:37:54] [EMAIL PROTECTED]

Not known and most likely user error. Please provide a reproducing
script.


------------------------------------------------------------------------

[2002-11-26 07:32:11] [EMAIL PROTECTED]

After installing PHP 4.2.1 in some time I noticed a strange bug:
at some situation increment operation (++) didn't work!
I failed to write a simple code to reproduce that bug (it occurs
regular at the same situation in nested functions of a rather big
project), but in short - 
when trying to increment by ++ operation a function parameter, which
was setted to 1 as a default parameter value of upper function (which
called that function), incrementation does NOT happen.
and such code as

echo $newteamid;
$newteamid++;
echo $newteamid;
$a = $newteamid;
echo $a;
$a++;
echo $a;

produces an output: "1111"
but if I use " += 1" instead of "++" all works ok (and I was to make so
at my project)

as I mentioned I tried to reproduce that bug at simple code, but it
works ok in a short program with the same variables values.  
and the same occurs at PHP 4.2.3.

if that bug is not known I can try to write an example for this (dont
wanna waste a time if it's well-known) but please confirm that

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=20644&edit=1


-- 
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to