SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 94 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 ?

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

  • Twitter

    17 juin 2013 – 109 commentaires

    Un plugin qui facilite l’intégration de Twitter dans un site SPIP et permet : d’envoyer facilement des messages avec un ou plusieurs comptes Twitter d’afficher des Widgets standards dans le site public (qui respectent la vie privée des visiteurs) (...)

  • Polyhiérarchie

    14 juillet 2009 – 189 commentaires

    Ce plugin permet de rattacher un article ou une rubrique à plusieurs rubriques parentes.

  • Plugin SPIP-Géoportail

    17 août 2010 – 478 commentaires

    Plugin pour l’intégration d’objets géographiques dans SPIP avec l’API Géoportail. Affichage de cartes Géoportail, OpenStreetMap (OSM), Google Maps, Bing ou Yahoo !... Nouvelle version Suite au changement de version de l’API géoportail et des (...)

  • Plugin Vidéo(s)

    23 novembre 2010 – 703 commentaires

    Interface de gestion et modèle d’insertion des vidéos : Dailymotion Vimeo Youtube Modèle de la balise HTML5 video avec alternative flash html5media : Lecture HTML5/Flash pour tout navigateur des fichiers MP4/H264/Ogg/WebM/Mkv Support mobile, iPad, (...)

  • Ferme à SPIP

    3 janvier 2008 – 152 commentaires

    Un petit article synthétique qui explique en quelques mots et captures d’écrans comment faire une « ferme à SPIP » avec le plugin "Mutualisation" à partir d’un nom de domaine principal.