Skip to content

Commit 4a10eb4

Browse files
committed
Fix #79653 Unexpected error for ArrayIterator::ksort()
Closes GH-5644
1 parent 2302b14 commit 4a10eb4

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

ext/spl/spl_array.stub.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ public function asort($sort_flags = SORT_REGULAR) {}
186186
/**
187187
* @param int $sort_flags
188188
* @return bool
189-
* @alias ArrayObject::offsetExists
189+
* @alias ArrayObject::ksort
190190
*/
191191
public function ksort($sort_flags = SORT_REGULAR) {}
192192

ext/spl/spl_array_arginfo.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ static const zend_function_entry class_ArrayIterator_methods[] = {
218218
ZEND_MALIAS(ArrayObject, getFlags, getFlags, arginfo_class_ArrayIterator_getFlags, ZEND_ACC_PUBLIC)
219219
ZEND_MALIAS(ArrayObject, setFlags, setFlags, arginfo_class_ArrayIterator_setFlags, ZEND_ACC_PUBLIC)
220220
ZEND_MALIAS(ArrayObject, asort, asort, arginfo_class_ArrayIterator_asort, ZEND_ACC_PUBLIC)
221-
ZEND_MALIAS(ArrayObject, ksort, offsetExists, arginfo_class_ArrayIterator_ksort, ZEND_ACC_PUBLIC)
221+
ZEND_MALIAS(ArrayObject, ksort, ksort, arginfo_class_ArrayIterator_ksort, ZEND_ACC_PUBLIC)
222222
ZEND_MALIAS(ArrayObject, uasort, uasort, arginfo_class_ArrayIterator_uasort, ZEND_ACC_PUBLIC)
223223
ZEND_MALIAS(ArrayObject, uksort, uksort, arginfo_class_ArrayIterator_uksort, ZEND_ACC_PUBLIC)
224224
ZEND_MALIAS(ArrayObject, natsort, natsort, arginfo_class_ArrayIterator_natsort, ZEND_ACC_PUBLIC)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
--TEST--
2+
Bug #79653: Unexpected error for ArrayIterator::ksort()
3+
--FILE--
4+
<?php
5+
6+
$array = [3 => 1, 2 => 2, 1 => 3];
7+
$arrIter = new ArrayIterator($array);
8+
var_dump($arrIter->ksort());
9+
var_dump($arrIter);
10+
11+
?>
12+
--EXPECT--
13+
bool(true)
14+
object(ArrayIterator)#1 (1) {
15+
["storage":"ArrayIterator":private]=>
16+
array(3) {
17+
[1]=>
18+
int(3)
19+
[2]=>
20+
int(2)
21+
[3]=>
22+
int(1)
23+
}
24+
}

0 commit comments

Comments
 (0)