xxxxxxxxxx
$arr = array(1, 2, 3);
// Call function on every item.
// Sign $item as reference to work on original item.
array_walk($arr, function(&$item, $key, $myParam){
$item *= 2;
}, 'will be in myParam');
// $arr now is [2, 4, 6]
xxxxxxxxxx
array_walk():
This array function visits each element of array in the user defined function.
The array's keys and values are parameters in the function,
This function will not return value.
Also it can have 3'rd parameter as optional.
<?php
function funTable($val, $key){
print $val.'==='.$key."\n";
}
$arrWalk = array(1=>2,2=>2,3=>2,4=>2,5=>2);
//$arrWalk = array(1,2,3,4,5,6,7,8,9,10);
array_walk($arrWalk,'funTable');
?>
======================
// to replace all the values needs to add parameter with &
<?php
function funTable1(&$val, $key, $override=null){
if($override)
$val = 5;
}
$arrWalk = array(1=>2,2=>2,3=>2,4=>2,5=>2);
//$arrWalk = array(1,2,3,4,5,6,7,8,9,10);
array_walk($arrWalk,'funTable1',0);
//array_walk($arrWalk,'funTable1',1);
print_r($arrWalk);
?>
xxxxxxxxxx
function myfunction($value,$key)
{
echo "The key $key has the value $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
//The key a has the value red
//The key b has the value green
//The key c has the value blue
xxxxxxxxxx
PHP function array_walk(object|array &$array, callable $callback, mixed $arg) bool
------------------------------------------------------------------------------
Apply a user function to every member of an array.
Parameters:
array|object--$array--The input array.
callable--$callback--Typically, funcname takes on two parameters. The array parameter's value being the first, and the key/index second.
If funcname needs to be working with the actual values of the array, specify the first parameter of funcname as a reference. Then, any changes made to those elements will be made in the original array itself.
Users may not change the array itself from the callback function. e.g. Add/delete elements, unset elements, etc. If the array that array_walk is applied to is changed, the behavior of this function is undefined, and unpredictable.
mixed--$arg--[optional] If the optional userdata parameter is supplied, it will be passed as the third parameter to the callback funcname.
Returns: true on success or false on failure.
xxxxxxxxxx
<?php
$numbers = [1, 2, 3, 4, 5];
// A simple callback function to perform an operation on each element of the array
function square(&$value)
{
$value = $value * $value;
}
// Applying the 'square' function to each element of the array using array_walk
array_walk($numbers, 'square');
// Printing the modified array
print_r($numbers);
?>