Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP: looking for something like Java Stream API

Is there a way to convert array of objects into an array of strings using some custom mapping in PHP. Like:

$objs = array(o1, o2, o3);

...

$strings = conv($objs, function($o) -> $o->fieldXYZ);

instead of:

$objs = array(o1, o2, o3);

...

$strings = array();

foreach($objs as $obj) {
    $strings []= $obj->fieldXYZ;
}
like image 945
Denis Kulagin Avatar asked Oct 04 '16 11:10

Denis Kulagin


1 Answers

I think what you are looking for is the array_map() function. For example, this should work:

$strings = array_map(function($o) {
    return $o->fieldXYZ;
}, $objs);
like image 95
laurent Avatar answered Oct 03 '22 18:10

laurent