mat
mat

Reputation: 2617

Apply a function for each array

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

Answers (3)

TuanNguyen
TuanNguyen

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

Levi
Levi

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

karthikr
karthikr

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

Related Questions