????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 216.73.216.126 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/tests/lang/ |
Upload File : |
--TEST-- Foreach loop tests - foreach operates on the original array if the array is referenced outside the loop. --FILE-- <?php // From php.net/foreach: // "Unless the array is referenced, foreach operates on a copy of the specified array." echo "\nRemove elements from a referenced array during loop\n"; $refedArray=array("original.0", "original.1", "original.2"); $ref=&$refedArray; foreach ($refedArray as $k=>$v1) { array_pop($refedArray); echo "key: $k; value: $v1\n"; } echo "\nRemove elements from a referenced array during loop, using &\$value\n"; $refedArray=array("original.0", "original.1", "original.2"); $ref=&$refedArray; foreach ($refedArray as $k=>&$v2) { array_pop($refedArray); echo "key: $k; value: $v2\n"; } echo "\nAdd elements to a referenced array during loop\n"; $refedArray=array("original.0", "original.1", "original.2"); $ref=&$refedArray; $count=0; foreach ($refedArray as $k=>$v3) { array_push($refedArray, "new.$k"); echo "key: $k; value: $v3\n"; if ($count++>5) { echo "Loop detected, as expected.\n"; break; } } echo "\nAdd elements to a referenced array during loop, using &\$value\n"; $refedArray=array("original.0", "original.1", "original.2"); $ref=&$refedArray; $count=0; foreach ($refedArray as $k=>&$v4) { array_push($refedArray, "new.$k"); echo "key: $k; value: $v4\n"; if ($count++>5) { echo "Loop detected, as expected.\n"; break; } } ?> --EXPECT-- Remove elements from a referenced array during loop key: 0; value: original.0 key: 1; value: original.1 Remove elements from a referenced array during loop, using &$value key: 0; value: original.0 key: 1; value: original.1 Add elements to a referenced array during loop key: 0; value: original.0 key: 1; value: original.1 key: 2; value: original.2 key: 3; value: new.0 key: 4; value: new.1 key: 5; value: new.2 key: 6; value: new.3 Loop detected, as expected. Add elements to a referenced array during loop, using &$value key: 0; value: original.0 key: 1; value: original.1 key: 2; value: original.2 key: 3; value: new.0 key: 4; value: new.1 key: 5; value: new.2 key: 6; value: new.3 Loop detected, as expected.