Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

--TEST-- Test array_shift() function : usage variations - call recursively --FILE-- <?php ..

Decoded Output download

*** Testing array_shift() : usage variations ***

-- Incorrect Method: --

Did this file decode correctly?

Original Code

--TEST--
Test array_shift() function : usage variations - call recursively
--FILE--
<?php
/*
 * Use the result of one call to array_shift
 * as the $stack argument of another call to array_shift()
 * When done in one statement causes strict error messages.
 */

echo "*** Testing array_shift() : usage variations ***\n";

$stack = array ( array ( array ('zero', 'one', 'two'), 'un', 'deux'), 'eins', 'zwei');

// not following strict standards
echo "\n-- Incorrect Method: --\n";
var_dump(array_shift(array_shift(array_shift($stack))));

$stack = array (array( array('zero', 'one', 'two'), 'un', 'deux'), 'eins', 'zwei');
// correct way of doing above:
echo "\n-- Correct Method: --\n";
$result1 = array_shift($stack);
$result2 = array_shift($result1);
var_dump(array_shift($result2));

echo "Done";
?>
--EXPECTF--
*** Testing array_shift() : usage variations ***

-- Incorrect Method: --

Notice: Only variables should be passed by reference in %s on line %d

Notice: Only variables should be passed by reference in %s on line %d
string(4) "zero"

-- Correct Method: --
string(4) "zero"
Done

Function Calls

array_shift 1

Variables

$stack [{'key': 0, 'value': [{'key': 0, 'value': [{'key': 0, 'value': 'zero'}, {'key': 1, 'value': 'one'}, {'key': 2, 'value': 'two'}]}, {'key': 1, 'value': 'un'}, {'key': 2, 'value': 'deux'}]}, {'key': 1, 'value': 'eins'}, {'key': 2, 'value': 'zwei'}]

Stats

MD5 fcfe73c31bf516b3633533e5f815b5c8
Eval Count 0
Decode Time 74 ms