htmlcss.fr Des tutos ou tutoriels Wordpress, html, php ou javascript.

PHP: group_array_items_by

P

Un petit snippet sur la manipulation de tableau. Ici l’idée est de partir d’un tableau classique et de le transformer en tableau en groupant les items par un nombre de votre de choix.

Exemple:

// on part de ça
$tab = [ array1, array2, array3, array4, array5];
$resultat = group_array_items_by($tab, 2);

// et on recupère ça
$tab = [
  [
    array1, 
    array2
  ],
  [
    array3, 
    array4
  ],
  [
    array5
  ]
]

Et voici la fonction:

function groupe_array_items_by($old_tab, $num) {
  $reorder_count = $num;
  $reorder_count_minus = $reorder_count - 1;
  $new_tab = array();
  $modulo_reorder_count = count($old_tab) %% $reorder_count;

  foreach ($old_tab as $key => $value) {
    $modulo = $key %% $reorder_count;
    $tmp[] = $value;
    if($modulo === $reorder_count_minus ) {
      $new_tab[] = $tmp;
      $tmp = array();
    }
  }
  if($modulo_reorder_count > 0){
    $new_tab[] = $tmp;
  }
  return $new_tab;
}

Mais à quoi ça sert?

J’ai besoin de cette fonction de temps en temps. L’utilisation classique est lors de la création de carrousel. Par exemple on souhaite faire défiler les logos du carrousel par cinq…
Voili, j’espère que cela vous fera gagner du temps!

htmlcss.fr Des tutos ou tutoriels Wordpress, html, php ou javascript.

François Riant

Je m’appelle François Riant. Je travail dans les métiers du web depuis 2006. Mon expérience m’a amené à changer plusieurs fois de technologie.

Aujourd’hui je cherche à partager mon expérience et j’y trouve du de plaisir. Je travail actuellement chez W2P Digital.
Je ne prends donc pas de mission en freelance.

Si vous avez une remarque ou une question; vous pouvez me joindre sur francois.riant@gmail.com