ID:               28156
 Comment by:       ofih at fhd dot ko
 Reported By:      info at gramba dot tv
 Status:           Suspended
 Bug Type:         Feature/Change Request
 Operating System: *
 PHP Version:      5.0.0.0
 Assigned To:      helly
 New Comment:

http://www.meta-fx.com 
forex


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

[2004-04-26 20:37:13] [EMAIL PROTECTED]

We are considering a new operator or internal function to take care of
this after PHP 5.0. A patch is here:

http://marcus-boerger.de/php/ext/ze2/ze2-ifsetor-20040416-4.diff.txt

Syntax: ifsetor( <var> [, <exp> ])

Semantic: check whether variable <var> exists and return it. If it not
exists evaluate expression <exp> which defaults to NULL and return that
value instead.

Comment: <var> may also be an array subscription of any depth.


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

[2004-04-26 15:18:52] info at gramba dot tv

Description:
------------
$a = 'asdf';
echo is_array($a['foo']['asdf']);

is completly invalid, unfortunatly many applications deal with the fact
that some offsets simply "may" not exist.

workaround would be

if (isset($a['foo']['asdf']) &&
    is_array($a['foo']['asdf']) {

....

but this would bloat the code a lot

Reproduce code:
---------------
// /* E_ERROR Invalid offset */

$a = 'asdf';
echo is_array($a['foo']['asdf']);



Expected result:
----------------
an E_WARNING instead of E_ERROR which is suppressable

Actual result:
--------------
E_ERROR


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


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

Reply via email to