Dans le cadre de l'un de mes projets, j'ai été amené à extraire d'un tableau PHP les éléments ayant pour clef une chaîne de caractères.

Mon premier réflexe a été de me tourner vers la fonction array_filter(), mais malheureusement, elle ne permet pas de filtrer sur les clefs d'un tableau.

Du coup, j'ai été obligé de trouver une autre stratégie.

J'ai d'abord envisagé un recours très classique à l'instruction foreach et à la fonction is_string(), avant d'envisager sérieusement l'utilisation d'un objet dérivé la classe filterIterator de la SPL.

Cependant, vu que je ne savais pas quelle méthode serait la plus efficace, et que je souhaitais depuis longtemps me faire une idée des performances de cette classe de la SPL, je me suis fendu d'un petit benchmarking étalonnage, et vu que je suis d'un naturel joueur, j'ai décidé d'ajouter les closures dans l'équation.