Reputation: 2617
I'm trying to apply a function for each array but it doesnt work, here's my code:
$array['a'] = "aaa";
$array['b'] = "bbb";
function myFunction ($array) {
## some code
};
foreach ($array as $value) {
echo myFunction($array[$value]);
};
Thx for your help.
Upvotes: 1
Views: 182
Reputation: 1046
As for your title, if you need to apply a callback function to every (more than 1) array, let's use array_map():
$func = function($value) {
return $value * 2;
};
print_r(array_map($func, range(1, 5)));
Upvotes: 2
Reputation: 2113
karthikr is correct. you can also use a shorthand function instead of your foreach loop:
array_walk($array, 'myFunction');
see http://www.php.net/manual/en/function.array-walk.php
Upvotes: 4
Reputation: 99640
try this:
$array['a'] = "aaa";
$array['b'] = "bbb";
function myFunction ($array) {
## some code
};
foreach ($array as $key => $value){
echo myFunction( $value );
};
Upvotes: 3