J'ai des problèmes avec un tableau. J'ai un tableau que je souhaite modifier comme ci-dessous. Je veux supprimer un ou plusieurs éléments de celui-ci par index puis réindexer le tableau. C'est possible?
$foo = array(
'whatever', // [0]
'foo', // [1]
'bar' // [2]
);
$foo2 = array(
'foo', // [0], before [1]
'bar' // [1], before [2]
);
unset($foo[0], $foo[3], $bar[1]);
array_splice
, et cela n'a pas fonctionné pour les 0-ème et 1er indices.http://php.net/manual/en/function.array-splice.php
la source
Vous feriez mieux d'utiliser
array_shift()
. Cela renverra le premier élément du tableau, le supprimera du tableau et réindexera le tableau. Tout en une méthode efficace.la source
array_pop()
récupérera et supprimera le dernier élément du tableau si vous en avez besoin. Mais, aucune fonction ne peut être faite pour agir sur un élément au milieu du tableau.la source
Je ne sais pas pourquoi cela fait l'objet d'un vote négatif, mais si quelqu'un a pris la peine de l'essayer, vous remarquerez que cela fonctionne. L'utilisation du tri sur un tableau réaffecte les clés du tableau. Le seul inconvénient est qu'il trie les valeurs. Étant donné que les clés seront évidemment réaffectées, même avec
array_values
, peu importe que les valeurs soient triées ou non.la source
Essayez avec:
la source
En plus de la réponse de xzyfer
La fonction
Utilisation
Résultat
la source
Si vous utilisez
array_merge
, cela réindexera les clés. Le manuel indique:http://php.net/manual/en/function.array-merge.php
C'est là que j'ai trouvé la réponse originale.
http://board.phpbuilder.com/showthread.php?10299961-Reset-index-on-array-after-unset ()
la source