summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/bug70668.phpt
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-10-08 14:59:02 +0300
committerDmitry Stogov <dmitry@zend.com>2015-10-08 14:59:02 +0300
commit3815e9713601a637b30bb99d631fc68df97f9288 (patch)
tree49cb738732480aa5062d06f97f931d8c161037ed /ext/standard/tests/array/bug70668.phpt
parent9af07e7119a150acd5911c97da5d91fe9e424570 (diff)
downloadphp-git-3815e9713601a637b30bb99d631fc68df97f9288.tar.gz
Fixed bug #70668 (array_keys() doesn't respect references when $strict is true)
Diffstat (limited to 'ext/standard/tests/array/bug70668.phpt')
-rw-r--r--ext/standard/tests/array/bug70668.phpt63
1 files changed, 63 insertions, 0 deletions
diff --git a/ext/standard/tests/array/bug70668.phpt b/ext/standard/tests/array/bug70668.phpt
new file mode 100644
index 0000000000..b35107a0a6
--- /dev/null
+++ b/ext/standard/tests/array/bug70668.phpt
@@ -0,0 +1,63 @@
+--TEST--
+Bug #70668 (array_keys() doesn't respect references when $strict is true)
+--FILE--
+<?php
+$arr = array(1, "1", "", NULL, 0, false, true, array());
+
+$s = &$arr[0];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[1];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[2];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[3];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[4];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[5];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[6];
+var_dump(array_keys($arr, $s, true));
+
+$s = &$arr[7];
+var_dump(array_keys($arr, $s, true));
+?>
+--EXPECT--
+array(1) {
+ [0]=>
+ int(0)
+}
+array(1) {
+ [0]=>
+ int(1)
+}
+array(1) {
+ [0]=>
+ int(2)
+}
+array(1) {
+ [0]=>
+ int(3)
+}
+array(1) {
+ [0]=>
+ int(4)
+}
+array(1) {
+ [0]=>
+ int(5)
+}
+array(1) {
+ [0]=>
+ int(6)
+}
+array(1) {
+ [0]=>
+ int(7)
+}