Bonjour,
Mon problème est tout bête, mais je ne trouve pas de fonction a cela.
Je souhaite enlever une valeur d'une liste à un id choisi aléatoirement et décaller tous les élément contenu après pour que la liste soit plus courte de 1.
Je voudrais savoir si une fonction permet de le faire?
Merci d'avance
Tu peux couper ton tableau puis le refusionner ensuite
$arr = [1 =>'un', 2 => 'deux', 3 =>'trois', 4 =>'quatre', 5 =>'cinq' ];
$i = 2 // supprime trois
$arr = array_merge(array_slice($arr,0,$i), array_slice($arr,$i+1));
Peut être existe t-il mieux ?
voir ici
Salut,
Il y a la méthode array_splice() qui permet de faire ce que tu veux.
array_splice($array, $i);
// $i => index de l'élément à enlever.
array_splice($array, $i, $lg);
// $i => index de l'élément à enlever.
// $lg => nombre d'éléments à enlever.
Utilisation :
$array = ["Pomme","Poire","Abricot"];
array_splice($array, 1);
echo $array; // Sortie : Pomme, Abricot
OK, avec quelque petites modifications, ce script fais parfaitement ce que je veux, merci de ton aide.
Mais par contre c'est pas plutot
array_splice($arr, $i) => récupére la liste de l'indice $i à la fin
array_splice($arr,0, $i) => récupére la liste de l'indice 0 à l'indice $i?
Alors oui, comme on peut le voir sur la doc, la fonction renvoie les éléments qui sont retirés du tableau manipulé.
$array = ["Pomme","Poire","Abricot"];
$extract = array_splice($array, 1);
echo $array; // Sortie : Pomme, Abricot
echo $extract; // Sortie : Poire
Edit : Ah, et il faut éviter de placer l'ensemble des réponses à un topic en "A résolu la réponse" puisque le but est de placer cette réponse bien visible à la suite du problème.