SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 202 visiteurs en ce moment

Accueil > Outils pour plugins > SPIP Bonux > Array_column pour SPIP

Array_column pour SPIP

21 avril 2015 – par Phenix – commentaire

3 votes

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 :

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

$mail contiendra alors un tableau formaté comme suis :

  1. $mail = array(
  2. array('email' => 'email@email.com'),
  3. array('email' => 'email2@email2.com'),
  4. array('email' => 'email3@email3.com'),
  5. [...]
  6. );

Télécharger

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

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

Et notre beau tableau devient :

  1. $mail = array(
  2. 'email@email.com',
  3. 'email2@email2.com',
  4. 'email3@email3.com',
  5. [...]
  6. );

Télécharger

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

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

Télécharger

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

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

Télécharger

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

Retour en haut de la page

Vos commentaires

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Import ICS 2 et supérieur (agenda distant)

    2 août 2016 – 52 commentaires

    La version 2 du plugin « import ICS » en reprend la principale fonctionnalité, à savoir l’ajout automatique d’évènements distants dans la liste des évènements d’un site. À la différence de la première version, elle ne dépend pas du plugin « Séminaire » et est (...)

  • Formidable, le générateur de formulaires

    23 janvier 2012 – 2180 commentaires

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins (...)

  • Écrire la documentation d’un plugin SPIP

    25 février 2014 – commentaires

    Cet article explique en 4 étapes comment créer les liens de la documentation d’un plugin sur Contrib. Il s’adresse aussi aux administrateurs et administratrices de SPIP-contrib qui auraient des trous de mémoire ;) Prérequis : vous disposez d’un (...)

  • Formulaire de contact avancé

    23 mars 2009 – 1374 commentaires

    Un formulaire de contact configurable, avec de multiples options.

  • Plugin SpipCatChat

    31 janvier 2015 – 38 commentaires

    Étant donné que SPIP n’intègre pas d’origine de fonction de discussion instantanée et afin de pallier à ce manque je vous propose ce plugin. Il permet, dans l’espace public de votre site, d’ouvrir et d’administrer des salons de discussions (...)

Ça spipe par là