Edit report at https://bugs.php.net/bug.php?id=71240&edit=1
ID: 71240
Updated by: [email protected]
Reported by: donatj at gmail dot com
Summary: array_filter byref value in callable no longer
working
Status: Not a bug
Type: Bug
Package: *General Issues
PHP Version: 7.0.1
Block user comment: N
Private report: N
New Comment:
array_filter() is documented as taking the $array by value. It's not *allowed* to modify the original array in any way. Modifying the array violates basic semantics of by-value argument passing.
Previous Comments:
------------------------------------------------------------------------
[2015-12-29 22:46:13] donatj at gmail dot com
Also the use case for this - I'm array_filter-ing already, not with a hardcoded true but actual logic, and as the code is already looping over items having a second loop through my array with array_map is silly.
------------------------------------------------------------------------
[2015-12-29 22:39:22] donatj at gmail dot com
I still argue it's a bug. It's a behaviour that goes way back to at least 4.3.0 https://3v4l.org/iTqYI
If nothing else, the change should be noted in the array_filter documentation, but I'd still argue it should be fixed.
------------------------------------------------------------------------
[2015-12-29 22:22:25] [email protected]
@requinix: Actually I'm just stupid, you are totally right. I got confused with which output is which.
------------------------------------------------------------------------
[2015-12-29 21:03:42] [email protected]
Fair enough. It just looked like one more of the various inconsistencies with references that was fixed with 7.
------------------------------------------------------------------------
[2015-12-29 20:58:52] [email protected]
@requinix: The issue here is that is does the by-reference modification, while it should not. A similar, but slightly different, bug exists in HHVM as well: https://3v4l.org/dp6Lt
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=71240
--
Edit this bug report at https://bugs.php.net/bug.php?id=71240&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.