ID: 50255 User updated by: tyra3l at gmail dot com Reported By: tyra3l at gmail dot com Status: Verified Bug Type: Scripting Engine problem Operating System: * PHP Version: 5.*, 6 New Comment:
Thank you for verifying this. It was noticed on our development machines, and I tested it on different php installations, so I can confirm this is also present on 5.2.5,5.2.8,5.2.11 also. Tyrael Previous Comments: ------------------------------------------------------------------------ [2009-11-23 13:28:40] j...@php.net I'm sorry, I read this a bit hastily. This indeed is a bug. ------------------------------------------------------------------------ [2009-11-21 21:13:49] tyra3l at gmail dot com could you show me which ticket duplicates this, and where this behavior is documented in the manual? because I tried to check this in the documentation, but I haven't found it at the isset/empty manual page. Tyrael ------------------------------------------------------------------------ [2009-11-21 10:08:26] tyra3l at gmail dot com Description: ------------ If you try to check the existence of a property on an array, suprisingly you wont get any error or notice, but you will get the results as you were checking with the correct type. Reproduce code: --------------- <?php $a = array('foo' => 'bar'); echo "<pre>";var_dump(isset($a->foo));echo "</pre>"; echo "<pre>";var_dump(isset($a->asd));echo "</pre>"; echo "<pre>";var_dump(empty($a->foo));echo "</pre>"; echo "<pre>";var_dump(empty($a->asd));echo "</pre>"; echo "<pre>";var_dump(@$a->foo);echo "</pre>"; Expected result: ---------------- Fatal error: Cannot use array as object in ... OR bool(false) bool(false) bool(true) bool(true) NULL Actual result: -------------- bool(true) bool(false) bool(false) bool(true) NULL ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=50255&edit=1