Bug #71240 [Nab]: array_filter byref value in callable no longer working

[email protected]
Newsgroups php.bugs
Message-ID <[email protected]>
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.