Considérons un simple ArrayObject PHP avec deux éléments.Réinitialiser la valeur de pointeur interne d'un tableau PHP (ArrayObject)
$ao = new ArrayObject();
$ao[] = 'a1'; // [0] => a1
$ao[] = 'a2'; // [1] => a2
Ensuite, supprimez le dernier élément et ajoutez un nouvel élément. J'aimerais beaucoup avoir 'a3' be [1].
Comment puis-je réinitialiser la valeur du pointeur interne avant J'ai ajouté 'a3'?
J'ai une fonction simple qui fait cela mais je préfère ne pas copier le tableau si je n'ai pas à le faire.
function array_collapse($array) {
$return = array();
while ($a = current($array)) {
$return[] = $a;
next($array);
}
return $return;
}
Il me semble que mon exemple est seulement l'un des scénarios d'utilisation d'un couple que je rencontre. Pour la question, je vais le laisser intact mais aussi ajouter ... Si le ou les éléments du tableau à supprimer ne sont pas le dernier élément (s) alors un effondrement est nécessaire avant de réinitialiser le pointeur interne. Est-il possible d'avoir un tableau de quatre éléments ([0], [1], [2] et [3]), supprimer [1] et [2], et réinitialiser le pointeur pour que l'élément suivant soit ajouté [2]? – allnightgrocery