ID: 25243 User updated by: elite_eagle67 at hotmail dot com Reported By: elite_eagle67 at hotmail dot com Status: Wont fix Bug Type: Feature/Change Request Operating System: windoze PHP Version: Irrelevant New Comment:
Oh. Aren't you anyway though in PHP 5 with all the object stuff? The way you must first declare objects (I think) before you can use them. I think casting in this fashion is used even less then objects in those situations, or even any way that objects will brake old scripts. Also it says right in the link posted that you should not rely on the casting to other types behavior and it can change without notice. So what's the point of that statement if in reality the PHP managment is doing everything they can to keep it the same? Well anyway don't mean to seem rude or anything but I think it would be cool if casting worked as was most logical. I used to like to use it (and I think others might to) because it was a quick way to check variable validity for a certain purpose. is_numeric() is slower then casting. But I cant use it now cause it doesn't work. Have a nice day ;) Previous Comments: ------------------------------------------------------------------------ [2003-08-27 05:41:50] [EMAIL PROTECTED] We will not break other people's scripts. ------------------------------------------------------------------------ [2003-08-26 17:43:21] elite_eagle67 at hotmail dot com Ok then I move this to a feature request. Im asking then that if the behavior of array to int, object to int, etc is predictable and in the manner I described IE any non integer value will be converted to 0 when casted to int as you think it would be. Thanks. ------------------------------------------------------------------------ [2003-08-25 23:27:20] [EMAIL PROTECTED] RTFM: http://www.php.net/manual/en/language.types.integer.php#language.types.integer.casting ------------------------------------------------------------------------ [2003-08-25 23:21:18] elite_eagle67 at hotmail dot com Description: ------------ Do (int)$var where $var is an array that has some kind of value stored, and the return value will be 1, not 0. Now this obviously doesn't make sense as you cast to (int) so you can see if a variable has a valid INTEGER variable, NOT if it is the integer equivilent of a * boolean * value. Ofcourse, an empty array in this example will return 0, as would be expected behavior for a BOOLEAN cast, not integer howerever... I'm unaware how (string) cast deals with this, possibly similiar but if so, then just apply this bug report to that ;) Reproduce code: --------------- $array = array( 'yay' => 'boo!' ); if((int)$array) { echo (int)$array; } else { echo (int)$array; } Expected result: ---------------- 0 Actual result: -------------- 1 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25243&edit=1
