note 110909 deleted from function.isset by aharvey
| From: | aharvey@php.net | Date: | Sat, 22 Dec 2012 05:18:16 +0000 |
| Subject: | note 110909 deleted from function.isset by aharvey | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-192644@lists.php.net to get a copy of this message | ||
Note Submitter: kexianbin at diyism dot com
----
edsko and yarco mentioned that isset() is not working as we expect, to use my_isset():
<?php
$a=array(2=>'abc');
function my_isset($var_expr, $defined_vars)
{extract($defined_vars);
if (substr($var_expr, -1)===']')
{$tmp=explode('[', $var_expr);
$k=substr(array_pop($tmp), 0, -1);
$v=implode('[', $tmp);
return eval("return @array_key_exists({$k}, {$v});");
}
$name=substr($var_expr, 1);
return @array_key_exists($name, $defined_vars);
}
var_export(my_isset('$a[2][\'kkk\']', get_defined_vars()));
?>