PHP

PHP: group_array_items_by

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!

Articles similaires

Commencez à saisir votre recherche ci-dessus et pressez Entrée pour rechercher. ESC pour annuler.

Retour en haut