note 86313 added to function.isset
| From: | a dot schaffhirt at sedna-soft dot de | Date: | Sun, 12 Oct 2008 15:01:58 +0000 |
| Subject: | note 86313 added to function.isset | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-145298@lists.php.net to get a copy of this message | ||
You can safely use isset to check properties and subproperties of objects directly. So instead of
writing
isset($abc) && isset($abc->def) && isset($abc->def->ghi)
or in a shorter form
isset($abc, $abc->def, $abc->def->ghi)
you can just write
isset ($abc->def->ghi)
without raising any errors, warnings or notices.
Examples
<?php
$abc = (object) array("def" => 123);
var_dump(isset($abc)); // bool(true)
var_dump(isset($abc->def)); // bool(true)
var_dump(isset($abc->def->ghi)); // bool(false)
var_dump(isset($abc->def->ghi->jkl)); // bool(false)
var_dump(isset($def)); // bool(false)
var_dump(isset($def->ghi)); // bool(false)
var_dump(isset($def->ghi->jkl)); // bool(false)
var_dump($abc); // object(stdClass)#1 (1) { ["def"] => int(123)
}
var_dump($abc->def); // int(123)
var_dump($abc->def->ghi); // null / E_NOTICE: Trying to get property of
non-object
var_dump($abc->def->ghi->jkl); // null / E_NOTICE: Trying to get property of
non-object
var_dump($def); // null / E_NOTICE: Trying to get property of non-object
var_dump($def->ghi); // null / E_NOTICE: Trying to get property of non-object
var_dump($def->ghi->jkl); // null / E_NOTICE: Trying to get property of
non-object
?>
----
Server IP: 217.160.72.57
Probable Submitter: 77.179.204.243
----
Manual Page -- http://www.php.net/manual/en/function.isset.php
Edit -- https://master.php.net/note/edit/86313
Del: integrated -- https://master.php.net/note/delete/86313/integrated
Del: useless -- https://master.php.net/note/delete/86313/useless
Del: bad code -- https://master.php.net/note/delete/86313/bad+code
Del: spam -- https://master.php.net/note/delete/86313/spam
Del: non-english -- https://master.php.net/note/delete/86313/non-english
Del: in docs -- https://master.php.net/note/delete/86313/in+docs
Del: other reasons-- https://master.php.net/note/delete/86313
Reject -- https://master.php.net/note/reject/86313
Search -- https://master.php.net/manage/user-notes.php