Array_column pour SPIP

Attention :

Cette fonctionnalité a été ajoutée à spip_bonux (version 3.2.0).

Charge la fonction array_column de PHP 5.5 pour les versions inférieures.

PHP 5.5 introduit une nouvelle fonction fort utile : array_column, pour récupérer par sa clé une sous-colonne d’un tableau associatif en php.
Malheureusement, ce n’est pas la version de PHP la plus répandue à l’heure actuelle. Ce plugin résout le problème de la compatibilité en ajoutant cette fonction à SPIP si le serveur n’est pas en PHP 5.5.

Il est basé sur le travail de Ben Ramsey.

Utilisation dans SPIP

Array_column s’avère très pratique pour simplifier des tableaux. Par exemple, un retour de la fonction sql_allfetsel.

Imaginons le code suivant :

$mail = sql_allfetsel('email', 'spip_auteurs', sql_in('id_auteur', $destinataire));

$mail contiendra alors un tableau formaté comme suis :

$mail = array(
    array('email' => 'email@email.com'),
    array('email' => 'email2@email2.com'),
    array('email' => 'email3@email3.com'),
    [...]
);

Alors que l’on voudrait simplement gérer un gros tableau de mail, il suffit de passer dans array_column :

$mail = array_column($mail, 'email');

Et notre beau tableau devient :

$mail = array(
    'email@email.com',
    'email2@email2.com',
    'email3@email3.com',
    [...]
);

Une autre utilisation bien utile, récupérer un tableau id_objet => Titre_objet :

$liste_articles = sql_allfetsel('id_article, titre', 'spip_articles');
$liste_articles = array_column($liste_articles, 'titre', 'id_article'); 

Dans ce cas si, le troisième paramètre sera utilisé comme index et donnera le tableau suivant :

$liste_articles = array(
    1 => 'titre article 1',
    2 => 'titre article 2',
    3 => 'titre articles 3',
    [...]
);

Discussion

Une discussion

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom

Dernière modification de cette page le 1er juin 2015