ID:              33447
 User updated by: david dot tulloh at infaze dot com dot au
-Summary:         0<TR><TD><a href="page1.html">page1</a></td>mixed
                  array_reduce starting value
 Reported By:     david dot tulloh at infaze dot com dot au
 Status:          Open
 Bug Type:        Feature/Change Request
 PHP Version:     5CVS-2005-06-23 (dev)
 New Comment:

Submitted a patch and test file to php-dev.


Previous Comments:
------------------------------------------------------------------------

[2005-06-24 02:24:42] david dot tulloh at infaze dot com dot au

The solution you provided does work for my example.  However, I still
think it would be a good feature to have.

The actual initial purpose I had in mind was to flatten arrays.

$list = Array( Array("a"), Array("b"), Array("c") );
$flat = array_reduce($list, 'array_merge');

Which will unfortunately fail.


Only allowing an integer or null starting type is an odd limitation,
particularily as the array can contain any type.

------------------------------------------------------------------------

[2005-06-23 12:25:44] [EMAIL PROTECTED]

And what if you try without the last parameter for array_reduce() ?

------------------------------------------------------------------------

[2005-06-23 11:23:28] david dot tulloh at infaze dot com dot au

Description:
------------
The array_reduce function currently only starts with an integer value. 
This seriously limits it's functionality.

For example, it should be trivial to use array_reduce to concatonate an
array of strings.  This currently isn't possible.

Reproduce code:
---------------
$list = Array("page1", "page2", "page3");
print_r(
    array_reduce($list,
        create_function('$v, $w', 'return $v.$w;')
    , '')
);


Expected result:
----------------
page1page2page3

Actual result:
--------------
0page1page2page3


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=33447&edit=1

Reply via email to