PHP comment tronquer un tableau

comment tronquer un tableau PHP de la manière la plus efficace?

devrais-je utiliser array_splice<!--4?

20
demandé sur Alexander Farber 2011-11-02 22:25:12

4 réponses

Vous pouvez utiliser les fonctions natives pour supprimer les éléments du tableau:

  • array_pop - Pop de l'élément à la fin du tableau
  • array_shift - déplacer un élément du début du tableau
  • array_slice - extraire une tranche du tableau
  • unset - Supprimer un élément de la matrice

Avec cette connaissance faites votre propre la fonction

function array_truncate(array $array, $left, $right) {
    $array = array_slice($array, $left, count($array) - $left);
    $array = array_slice($array, 0, count($array) - $right);
    return $array;
}

Démo http://codepad.viper-7.com/JVAs0a

19
répondu Peter 2014-01-31 12:51:20

Oui, sauf si vous voulez faire une boucle sur le tableau et unset () les éléments non désirés.

4
répondu Marc B 2011-11-02 18:25:55

Cette fonction devrait fonctionner

function truncateArray($truncateAt, $arr) {
    array_splice($arr, $truncateAt, (count($arr) - $truncateAt));
    return $arr;
}
2
répondu uglypointer 2015-12-11 06:10:43

Vous pouvez utiliser une de ces fonctions:

function array_truncate(&$arr)
{
    while(count($arr) > 0) array_pop($arr);
}
// OR (faster)
function array_truncate2(&$arr)
{
    array_splice($arr, 0, count($arr));
}

Utilisation:

$data2 = array("John" => "Doe", "Alice" => "Bob");
array_truncate($data2);
// OR
array_truncate2($data2);
0
répondu Devtronic 2014-05-04 08:48:43