php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #78274 iterator_to_array($array) should return the $array
Submitted: 2019-07-11 06:51 UTC Modified: 2021-11-08 11:57 UTC
Votes:4
Avg. Score:3.5 ± 1.7
Reproduced:3 of 4 (75.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: Wes dot nospam at example dot org Assigned:
Status: Open Package: SPL related
PHP Version: Irrelevant OS:
Private report: No CVE-ID: None
 [2019-07-11 06:51 UTC] Wes dot nospam at example dot org
Description:
------------
Argument 1 passed to iterator_to_array() must implement interface Traversable, array given. 

Would be great to improve the behavior, possibly as follows:

iterator_to_array($array, TRUE); must return the array as is,

iterator_to_array($array, FALSE); must return array_values($array)

Thank you in advance




Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2019-07-11 07:32 UTC] daverandom@php.net
Worth noting that the function is named *iterator*_to_array(), not *iterable*_to_array().

I'm not necessarily against extending the functionality like this, but in that case for consistency I would rather rename this function iterable_to_array() and retain iterator_to_array() as an alias.
 [2019-07-11 07:33 UTC] daverandom@php.net
-Type: Bug +Type: Feature/Change Request
 [2019-07-11 12:09 UTC] cmb@php.net
FWIW, there has been an RFC proposing iterable_to_array()[1],
which has been declined.

[1] <https://wiki.php.net/rfc/iterable_to_array-and-iterable_count>
 [2021-11-08 11:57 UTC] cmb@php.net
-Package: *General Issues +Package: SPL related
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Dec 26 10:01:29 2024 UTC