diff options
author | Márcio Almada <marcio3w@gmail.com> | 2015-01-24 01:50:59 -0300 |
---|---|---|
committer | Márcio Almada <marcio3w@gmail.com> | 2015-01-27 07:16:22 -0300 |
commit | 927ebc978907c54baa9db0cbe6d8bfacb763c456 (patch) | |
tree | 7f39b37948f9306b18159cb38d915db3b9110e80 | |
parent | f869bf3829c6b2c94011747c69ed8f32412c9e03 (diff) | |
download | php-git-927ebc978907c54baa9db0cbe6d8bfacb763c456.tar.gz |
add another test to #1022
-rw-r--r-- | ext/standard/tests/strings/str_replace_array_refs2.phpt | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/str_replace_array_refs2.phpt b/ext/standard/tests/strings/str_replace_array_refs2.phpt new file mode 100644 index 0000000000..788c738344 --- /dev/null +++ b/ext/standard/tests/strings/str_replace_array_refs2.phpt @@ -0,0 +1,27 @@ +--TEST-- +Test str_replace() function and array refs, more cases +--FILE-- +<?php +$closure = function (array $array, array $keys, $value) +{ + $current = &$array; + foreach ($keys as $key) + $current = &$current[$key]; + $current = $value; + return $array; +}; + +class SomeClass { public $prop; } + +$obj = new SomeClass; +$obj->prop = ['x' => 'property']; +$obj->prop = $closure($obj->prop, ['x'], 'a'); +var_dump(str_replace(array_keys($obj->prop), $obj->prop, "x property")); + +$array = ['x' => 'property']; +$array = $closure($array, ['x'], 'a'); +var_dump(str_replace(array_keys($array), $array, "x property")); + +--EXPECTF-- +string(10) "a property" +string(10) "a property" |