RSS
people

PHP : Appeller une méthode d’une classe avec array_walk

Le PHP dispose de tant de fonctions que certaines sont méconnues du grand public - grand public a vocation très geek, je vous l’accorde. ;) La fonction array_walk en fait partie. Elle permet d’appliquer une fonction à tous les éléments d’un tableau très facilement. Par exemple :

$foo = array( 1, 2, 3, 4 );

function Square(&$i)
{
    return $i * $i;
}

array_walk($foo, Square);

echo ‘<pre>’;
print_r($foo);
echo ‘</pre>’;

On remarquera le passage par référence, obligatoire pour retrouver une trace de notre fonction en dehors de celle-ci.

Ce code affichera :

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
)

Cependant, comment appeller une méthode d’une classe avec cette fonction ? Il suffit tout simplement de lui passer un tableau en second paramètre, contenant le nom de la classe et le nom de la méthode. Démonstration.

array_walk($foo, array( ‘MyClass’, ‘MyMethod’ ));

Et c’est tout. Petite astuce toute simple qu’il faut cependant savoir. :)

Diffusez cet article :
  • Facebook
  • Google
  • Fleck
  • Live
  • Scoopeo
  • Taggly
  • Technorati
  • TwitThis
  • Wikio FR
  • YahooMyWeb

Réagir