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: Verified
Type: Bug
Package: *General Issues
PHP Version: 7.0.1
Block user comment: N
Private report: N
New Comment:
Fair enough. It just looked like one more of the various inconsistencies with references that was fixed with 7.
Previous Comments:
------------------------------------------------------------------------
[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
------------------------------------------------------------------------
[2015-12-29 20:57:12] [email protected]
I don't see anything to suggest that was supported in the first place. There aren't even user comments doing that.
Besides, if you want to alter the array values then array_map() is more appropriate.
------------------------------------------------------------------------
[2015-12-29 20:05:12] donatj at gmail dot com
Description:
------------
It would appear that passing by reference in the callable of array_filter no longer functions as expected. I can find no documentation of this change on the array_filter page.
The expected result is seen in 5.3 -> 5.6
Test script:
---------------
<?php
$files = array('AAA', 'BBB', 'CcC');
$files = array_filter($files, function ( &$path ) {
$path = strtolower($path);
return true;
});
print_r($files);
Expected result:
----------------
Array
(
[0] => aaa
[1] => bbb
[2] => ccc
)
Actual result:
--------------
Array
(
[0] => AAA
[1] => BBB
[2] => CcC
)
------------------------------------------------------------------------
--
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.