????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 18.118.160.215 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/ext/standard/tests/array/ |
Upload File : |
--TEST-- Test array_shift() function : usage variations - maintaining referenced elements --FILE-- <?php /* Prototype : mixed array_shift(array &$stack) * Description: Pops an element off the beginning of the array * Source code: ext/standard/array.c */ /* * From a comment left by Traps on 09-Jul-2007 on the array_shift documentation page: * For those that may be trying to use array_shift() with an array containing references * (e.g. working with linked node trees), beware that array_shift() may not work as you expect: * it will return a *copy* of the first element of the array, * and not the element itself, so your reference will be lost. * The solution is to reference the first element before removing it with array_shift(): */ echo "*** Testing array_shift() : usage variations ***\n"; // using only array_shift: echo "\n-- Reference result of array_shift: --\n"; $a = 1; $array = array(&$a); $b =& array_shift($array); $b = 2; echo "a = $a, b = $b\n"; // solution: referencing the first element first: echo "\n-- Reference first element before array_shift: --\n"; $a = 1; $array = array(&$a); $b =& $array[0]; array_shift($array); $b = 2; echo "a = $a, b = $b\n"; echo "Done"; ?> --EXPECTF-- *** Testing array_shift() : usage variations *** -- Reference result of array_shift: -- Strict Standards: Only variables should be assigned by reference in %s on line %d a = 1, b = 2 -- Reference first element before array_shift: -- a = 2, b = 2 Done