Req #70771 [NEW]: foreach($array['non_existant_key'] as &$row) silently modifies array

From: Date: Thu, 22 Oct 2015 17:29:44 +0000
Subject: Req #70771 [NEW]: foreach($array['non_existant_key'] as &$row) silently modifies array
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-196753@lists.php.net to get a copy of this message
From: stuckinabox at live dot com Operating system: all PHP version: Irrelevant Package: Arrays related Bug Type: Feature/Change Request Bug description:foreach($array['non_existant_key'] as &$row) silently modifies array Description: ------------ Seems logical that an error should be thrown since that index doesnt exist in the array. instead, the index is silently added with a value of null. All versions of php >5.4 and all versions of HHVM are affected. Repro: https://3v4l.org/UNIe4 Test script: --------------- <?php $data = [ 'existant_key'=>[] ]; foreach($data['non_existant_key'] as &$row) { } print_r($data); ?> https://3v4l.org/UNIe4 Expected result: ---------------- undefined index Actual result: -------------- array is silently modified to include the non existant key -- Edit bug report at https://bugs.php.net/bug.php?id=70771&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=70771&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=70771&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=70771&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=70771&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=70771&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=70771&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=70771&r=needscript Try newer version: https://bugs.php.net/fix.php?id=70771&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=70771&r=support Expected behavior: https://bugs.php.net/fix.php?id=70771&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=70771&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=70771&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=70771&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=70771&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=70771&r=dst IIS Stability: https://bugs.php.net/fix.php?id=70771&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=70771&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=70771&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=70771&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=70771&r=mysqlcfg

« previous php.bugs (#196753) next »