|
Answer» Here are the use-cases for array_map, array_reduce and array_walk. - Array_map: Applies the callback to the elements of the given arrays
- Array_reduce: ITERATIVELY reduce the array to a single VALUE using a callback function
- Array_walk: Apply a user supplied function to every member of an array
<?php
$originalarray1 = array(2.4, 2.6, 3.5);
$originalarray2 = array(2.4, 2.6, 3.5);
print_r(array_map('floor', $originalarray1)); // $originalarray1 stays the same
// changes $originalarray2
array_walk($originalarray2, function (&$v, $k) { $v = floor($v); }); print_r($originalarray2);
// this is a more proper use of array_walk
array_walk($originalarray1, function ($v, $k) { ECHO "$k => $v", "\n"; });
// array_map accepts several arrays print_r(
array_map(function ($a, $b) { return $a * $b; }, $originalarray1, $originalarray2)
);
// select only elements that are > 2.5
print_r(
array_filter($originalarray1, function ($a) { return $a > 2.5; })
);
?>
Array
(
[0] => 2
[1] => 2
[2] => 3
)
Array
(
[0] => 2
[1] => 2
[2] => 3
)
0 => 2.4
1 => 2.6
2 => 3.5
Array
(
[0] => 4.8
[1] => 5.2
[2] => 10.5
)
Array
(
[1] => 2.6
[2] => 3.5
)
|