--- /dev/null
+--TEST--
+array_keys() in non-strict mode
+--FILE--
+<?php
+
+$arr = array(1, "1", "", NULL, 0, false, true, array());
+
+$s = 1;
+var_dump(array_keys($arr, $s));
+
+$s = "1";
+var_dump(array_keys($arr, $s));
+
+$s = "";
+var_dump(array_keys($arr, $s));
+
+$s = NULL;
+var_dump(array_keys($arr, $s));
+
+$s = 0;
+var_dump(array_keys($arr, $s));
+
+$s = false;
+var_dump(array_keys($arr, $s));
+
+$s = true;
+var_dump(array_keys($arr, $s));
+
+$s = array();
+var_dump(array_keys($arr, $s));
+
+?>
+--EXPECTF--
+array(3) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+ [2]=>
+ int(6)
+}
+array(3) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+ [2]=>
+ int(6)
+}
+array(4) {
+ [0]=>
+ int(2)
+ [1]=>
+ int(3)
+ [2]=>
+ int(4)
+ [3]=>
+ int(5)
+}
+array(5) {
+ [0]=>
+ int(2)
+ [1]=>
+ int(3)
+ [2]=>
+ int(4)
+ [3]=>
+ int(5)
+ [4]=>
+ int(7)
+}
+array(4) {
+ [0]=>
+ int(2)
+ [1]=>
+ int(3)
+ [2]=>
+ int(4)
+ [3]=>
+ int(5)
+}
+array(5) {
+ [0]=>
+ int(2)
+ [1]=>
+ int(3)
+ [2]=>
+ int(4)
+ [3]=>
+ int(5)
+ [4]=>
+ int(7)
+}
+array(3) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+ [2]=>
+ int(6)
+}
+array(3) {
+ [0]=>
+ int(3)
+ [1]=>
+ int(5)
+ [2]=>
+ int(7)
+}
--- /dev/null
+--TEST--
+array_keys() in strict mode
+--FILE--
+<?php
+
+$arr = array(1, "1", "", NULL, 0, false, true, array());
+
+$s = 1;
+var_dump(array_keys($arr, $s, true));
+
+$s = "1";
+var_dump(array_keys($arr, $s, true));
+
+$s = "";
+var_dump(array_keys($arr, $s, true));
+
+$s = NULL;
+var_dump(array_keys($arr, $s, true));
+
+$s = 0;
+var_dump(array_keys($arr, $s, true));
+
+$s = false;
+var_dump(array_keys($arr, $s, true));
+
+$s = true;
+var_dump(array_keys($arr, $s, true));
+
+$s = array();
+var_dump(array_keys($arr, $s, true));
+
+?>
+--EXPECTF--
+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)
+}
--- /dev/null
+--TEST--
+array_keys() in strict mode with references
+--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));
+
+?>
+--EXPECTF--
+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)
+}