note 110909 added to function.isset
| From: | kexianbin at diyism dot com | Date: | Fri, 21 Dec 2012 13:07:23 +0000 |
| Subject: | note 110909 added to function.isset | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-192633@lists.php.net to get a copy of this message | ||
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()));
?>
----
Server IP: 69.147.83.199
Probable Submitter: 27.115.50.210
----
Manual Page -- http://php.net/manual/en/function.isset.php
Edit -- https://master.php.net/note/edit/110909
Del: integrated -- https://master.php.net/note/delete/110909/integrated
Del: useless -- https://master.php.net/note/delete/110909/useless
Del: bad code -- https://master.php.net/note/delete/110909/bad+code
Del: spam -- https://master.php.net/note/delete/110909/spam
Del: non-english -- https://master.php.net/note/delete/110909/non-english
Del: in docs -- https://master.php.net/note/delete/110909/in+docs
Del: other reasons-- https://master.php.net/note/delete/110909
Reject -- https://master.php.net/note/reject/110909
Search -- https://master.php.net/manage/user-notes.php