Skip to content

Commit c562e25

Browse files
committed
Add test for array_key_(first|last|index)
1 parent 5d0db7d commit c562e25

File tree

1 file changed

+135
-0
lines changed

1 file changed

+135
-0
lines changed

tests/basic/array_key_index.phpt

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
--TEST--
2+
array_key_first, array_key_last, array_key_index
3+
--FILE--
4+
<?php
5+
6+
function array_key_index_test(&$arr)
7+
{
8+
foreach($arr as $v) break; //skip to second parameter
9+
10+
$value = array('value has not been written to');
11+
12+
$key = array_key_first($arr, $value);
13+
var_dump($key);
14+
var_dump($value);
15+
echo current($arr) . "\n";
16+
echo "\n";
17+
18+
19+
$key = array_key_last($arr, $value);
20+
var_dump($key);
21+
var_dump($value);
22+
echo current($arr) . "\n";
23+
echo "\n";
24+
25+
$key = array_key_index($arr, 1, $value);
26+
27+
var_dump($key);
28+
var_dump($value);
29+
echo current($arr) . "\n";
30+
echo "\n";
31+
32+
$key = array_key_index($arr, -3, $value);
33+
34+
var_dump($key);
35+
var_dump($value);
36+
echo current($arr) . "\n";
37+
echo "\n";
38+
39+
$key = array_key_index($arr, 3, $value);
40+
var_dump($key);
41+
var_dump($value);
42+
echo current($arr) . "\n";
43+
44+
echo "\n\n";
45+
}
46+
47+
echo "test with string array\n";
48+
$arr = array(
49+
'one' => 'first',
50+
'two' => 'middle',
51+
'three' => 'last',
52+
);
53+
array_key_index_test($arr);
54+
55+
echo "test with numeric array\n";
56+
$arr = array(
57+
1 => 'first',
58+
2 => 'middle',
59+
3 => 'last',
60+
);
61+
array_key_index_test($arr);
62+
63+
echo "test with mixed array\n";
64+
$arr = array(
65+
1 => 'first',
66+
'second' => 'middle',
67+
3 => 'last',
68+
);
69+
array_key_index_test($arr);
70+
?>
71+
--EXPECT--
72+
test with string array
73+
string(3) "one"
74+
string(5) "first"
75+
middle
76+
77+
string(5) "three"
78+
string(4) "last"
79+
middle
80+
81+
string(3) "two"
82+
string(6) "middle"
83+
middle
84+
85+
string(3) "one"
86+
string(5) "first"
87+
middle
88+
89+
NULL
90+
string(5) "first"
91+
middle
92+
93+
94+
test with numeric array
95+
int(1)
96+
string(5) "first"
97+
middle
98+
99+
int(3)
100+
string(4) "last"
101+
middle
102+
103+
int(2)
104+
string(6) "middle"
105+
middle
106+
107+
int(1)
108+
string(5) "first"
109+
middle
110+
111+
NULL
112+
string(5) "first"
113+
middle
114+
115+
116+
test with mixed array
117+
int(1)
118+
string(5) "first"
119+
middle
120+
121+
int(3)
122+
string(4) "last"
123+
middle
124+
125+
string(6) "second"
126+
string(6) "middle"
127+
middle
128+
129+
int(1)
130+
string(5) "first"
131+
middle
132+
133+
NULL
134+
string(5) "first"
135+
middle

0 commit comments

Comments
 (0)