summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/prev_basic.phpt
blob: 8e1703259ee670d08ad6259ca1753304cfd72f11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
--TEST--
Test prev() function : basic functionality
--FILE--
<?php
/* Prototype  : mixed prev(array $array_arg)
 * Description: Move array argument's internal pointer to the previous element and return it
 * Source code: ext/standard/array.c
 */

/*
 * Test basic functionality of prev()
 */

echo "*** Testing prev() : basic functionality ***\n";

$array = array('zero', 'one', 'two');
end($array);
echo key($array) . " => " . current($array) . "\n";
var_dump(prev($array));

echo key($array) . " => " . current($array) . "\n";
var_dump(prev($array));

echo key($array) . " => " . current($array) . "\n";
var_dump(prev($array));

echo "\n*** Testing an array with differing values/keys ***\n";
$array2 = array('one', 2 => "help", 3, false, 'stringkey2' => 'val2', 'stringkey1' => 'val1');
end($array2);
$length = count($array2);
for ($i = $length; $i > 0; $i--) {
    var_dump(prev($array2));
}

?>
===DONE===
--EXPECT--
*** Testing prev() : basic functionality ***
2 => two
string(3) "one"
1 => one
string(4) "zero"
0 => zero
bool(false)

*** Testing an array with differing values/keys ***
string(4) "val2"
bool(false)
int(3)
string(4) "help"
string(3) "one"
bool(false)
===DONE===