#49061 [Opn]: Notice Undefined Index for "?:" operator

From: Date: Sun, 26 Jul 2009 19:09:50 +0000
Subject: #49061 [Opn]: Notice Undefined Index for "?:" operator
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-140279@lists.php.net to get a copy of this message
ID: 49061 Updated by: rasmus@php.net Reported By: majuki at yahoo dot com Status: Open Bug Type: *General Issues Operating System: CenTOS PHP Version: 5.2.10 New Comment: That is a completely bogus test script. Did you even bother to try running it? You can't have an echo there and you are claiming an undefined index warning in a script that doesn't even have an index. Previous Comments: ------------------------------------------------------------------------ [2009-07-26 18:58:03] majuki at yahoo dot com Already included it... but I'll expand on it... <?php function doX(){}; (!isset($var)) ? doX() : echo $var; (empty($var)) ? doX() : echo $var; ?> Above code with E_NOTICE enabled.) ------------------------------------------------------------------------ [2009-07-26 12:02:07] jani@php.net Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If the script requires a database to demonstrate the issue, please make sure it creates all necessary tables, stored procedures etc. Please avoid embedding huge scripts into the report. ------------------------------------------------------------------------ [2009-07-26 03:13:16] majuki at yahoo dot com Description: ------------ A version of this bug was reported last year that was marked bogus (Bug #45760: Notice: Undefined index "?:" operator), however, there is an error in this that is not bogus: (isset($var)) ? doX() : echo $var; (empty($var)) ? doX() : echo $var; These return an undefined index even though it's being checked for. (CentOS) Also note that the notice in legitimate cases is still undocumented on the alternate control structures page. Reproduce code: --------------- (!isset($var)) ? doX() : echo $var; (empty($var)) ? doX() : echo $var; Expected result: ---------------- No "Notice: Undefined index" Actual result: -------------- "Notice: Undefined index" ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=49061&edit=1

« previous php.bugs (#140279) next »