--TEST-- Test str_replace() function and array refs, more cases --FILE-- 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")); --EXPECT-- string(10) "a property" string(10) "a property"