SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 227 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

  • bigfoot

    16 juin 2015 – 55 commentaires

    Un plugin qui facilite l’utilisation des notes de bas de page en les affichant dans des infobulles à l’aide d’un peu de javascript. Le constat de l’auteur du script : Les notes de bas de page sur le web sont une plaie. Tu dois d’abord essayer de (...)

  • Escal-V3

    16 février 2012 – 272 commentaires

    Un jeu de squelettes proposant un affichage en 2 ou 3 colonnes avec un large choix de noisettes à insérer ou pas, fortement paramétrable depuis l’espace privé . Présentation A l’instar de sa petite soeur plugin Escal-V2 dont elle reprend toutes (...)

  • Calendrier Mini 2.0

    19 mai 2012 – 234 commentaires

    Ce plugin ajoute la balise #CALENDRIER_MINI qui insère un petit widget de navigation par mois dans les dates des évènements. Fonctionnement du mini calendrier Le mini calendrier présente un mois à la fois. Les jours du mois comportant des (...)

  • Agenda 2.0

    3 novembre 2008 – 1075 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. Pour une documentation concernant l’utilisation d’Agenda 3 pour SPIP 3, veuillez pour l’instant vous référer à SPIP 3, Agenda (...)

  • ScolaSPIP 4

    19 janvier 2016 – 162 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)