note 124362 added to language.operators.comparison

From: Date: Sun, 03 Nov 2019 18:26:34 +0000
Subject: note 124362 added to language.operators.comparison
Groups: php.notes 
Request: Send a blank email to php-notes+get-212885@lists.php.net to get a copy of this message
Keep in mind that ?: operator is NOT fully equal to empty() ?: can't check non-existent array index (as describe here https://www.php.net/manual/ru/language.operators.comparison.php#92685) and vars Check this: <?php ini_set('error_reporting', E_ALL); $t = []; var_dump(!isset($t['z']) || $t['z'] == FALSE); // true, this that empty() do var_dump(empty($t['z'])); // true var_dump(isset($t['z'])); // false $v1 = $t['z'] ?: false; // Notice: Undefined index: z $v2 = $t['z'] ?? false; // silent! var_dump($v1); // false var_dump($v2); // false var_dump(!isset($non_existent_var) || $non_existent_var == FALSE); // true, this that empty() do var_dump(empty($non_existent_var)); // true var_dump(isset($non_existent_var)); // false $v1 = $non_existent_var ?: false; // Notice: Undefined variable: non_existent_var $v2 = $non_existent_var ?? false; // silent! var_dump($v1); // false var_dump($v2); // false ---- Server IP: 208.43.231.9 Probable Submitter: 103.51.167.36 (proxied: 93.75.152.71) ---- Manual Page -- http://php.net/manual/en/language.operators.comparison.php Edit -- https://master.php.net/note/edit/124362 Del: integrated -- https://master.php.net/note/delete/124362/integrated Del: useless -- https://master.php.net/note/delete/124362/useless Del: bad code -- https://master.php.net/note/delete/124362/bad+code Del: spam -- https://master.php.net/note/delete/124362/spam Del: non-english -- https://master.php.net/note/delete/124362/non-english Del: in docs -- https://master.php.net/note/delete/124362/in+docs Del: other reasons-- https://master.php.net/note/delete/124362 Reject -- https://master.php.net/note/reject/124362 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#212885) next »