Bug #71240 [Nab->Ver]: 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
+Status:             Verified
 Type:               Bug
 Package:            *General Issues
 PHP Version:        7.0.1
 Block user comment: N
 Private report:     N

 New Comment:

@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


Previous Comments:
------------------------------------------------------------------------
[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.