File tree Expand file tree Collapse file tree 1 file changed +33
-2
lines changed Expand file tree Collapse file tree 1 file changed +33
-2
lines changed Original file line number Diff line number Diff line change 2929 No warning is generated if the variable does not exist.
3030 That means <function >empty</function > is essentially the
3131 concise equivalent to <command >!isset($var) || $var == false</command >.
32+ This also applies to nested structures, such as a multidimensional array or chained properties.
3233 </para >
3334 </listitem >
3435 </varlistentry >
@@ -79,7 +80,6 @@ $expected_array_got_string = 'somestring';
7980var_dump(empty($expected_array_got_string['some_key']));
8081var_dump(empty($expected_array_got_string[0]));
8182var_dump(empty($expected_array_got_string['0']));
82- var_dump(empty($expected_array_got_string[0.5]));
8383var_dump(empty($expected_array_got_string['0.5']));
8484var_dump(empty($expected_array_got_string['0 Mostel']));
8585?>
@@ -91,9 +91,40 @@ var_dump(empty($expected_array_got_string['0 Mostel']));
9191bool(true)
9292bool(false)
9393bool(false)
94- bool(false)
9594bool(true)
9695bool(true)
96+ ]]>
97+ </screen >
98+ </example >
99+ <example >
100+ <title ><function >empty</function > on multidimensional arrays</title >
101+ <programlisting role =" php" >
102+ <![CDATA[
103+ <?php
104+ $multidimensional = [
105+ 'some' => [
106+ 'deep' => [
107+ 'nested' => 'value'
108+ ]
109+ ]
110+ ];
111+
112+ if (!empty($multidimensional['some']['some']['nested'])) {
113+ $someVariable = $multidimensional['some']['deep']['nested'];
114+ }
115+
116+ var_dump(empty($multidimensional['some-undefined-key']));
117+ var_dump(empty($multidimensional['some']['deep']['unknown']));
118+ var_dump(empty($multidimensional['some']['deep']['nested']));
119+ ?>
120+ ]]>
121+ </programlisting >
122+ &example.outputs;
123+ <screen >
124+ <![CDATA[
125+ bool(true)
126+ bool(true)
127+ bool(false)
97128]]>
98129 </screen >
99130 </example >
You can’t perform that action at this time.
0 commit comments