summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/tests/array/bug23788.phpt24
1 files changed, 24 insertions, 0 deletions
diff --git a/ext/standard/tests/array/bug23788.phpt b/ext/standard/tests/array/bug23788.phpt
new file mode 100644
index 0000000000..022b3cecd4
--- /dev/null
+++ b/ext/standard/tests/array/bug23788.phpt
@@ -0,0 +1,24 @@
+--TEST--
+Bug #23788 (*_replace() clobbers referenced array elements)
+--FILE--
+<?php
+$numeric = 123;
+$bool = true;
+$foo = array(&$numeric, &$bool);
+var_dump($foo);
+str_replace("abc", "def", $foo);
+var_dump($foo);
+?>
+--EXPECT--
+array(2) {
+ [0]=>
+ &int(123)
+ [1]=>
+ &bool(true)
+}
+array(2) {
+ [0]=>
+ &int(123)
+ [1]=>
+ &bool(true)
+}