Contenu d'un tableau, pas à pas
  Nous allons étudier comment les clés entières d'un tableau changent selon les opérations que l'on peut accomplir, conformément aux règles interne du langage cible Php, qui ont été reprise dans la librairie C++ de Scriptol par souci de compatibilité.
  Cette étude 'est importante pour comprendre les tableaux associatifs et éviter pas mal de bogues.
 Après chaque opération le contenu est affiché.

Création d'un tableau vide.

array a = array()
array
(
)

Ajout d'un élément.

a.push("un")
array
(
 [0]=> un
)

Addition d'un second tableau.

a + array("deux", "trois", "quatre")
array
(
 [0]=> un
 [1]=> deux
 [2]=> trois
 [3]=> quatre
)

Suppression du premier élément.
Les clés vont être renumérotées.

a.shift()
array
(
 [0]=> deux
 [1]=> trois
 [2]=> quatre
)

Assignement direct d'un élément.
Les clés restent telles quelles.

a[1000] = "mille"
array
(
 [0]=> deux
 [1]=> trois
 [2]=> quatre
 [1000]=> mille
)

Ajout d'un élément en tête.
Cela force la renumérotation.

a.unshift("x")
array
(
 [0]=> x
 [1]=> deux
 [2]=> trois
 [3]=> quatre
 [4]=> mille
)

Créons deux nouveaux tableaux.
L'addition forcera la renumérotation.

array a = array("un","deux")
array b = array()
b[1000] = "mille"
a + b
array
(
 [0]=> un
 [1]=> deux
 [2]=> mille
)

Si on remplace a + b par a.push("mille") le résultat sera le même.


Leçon à retenir

Tout changement dans un tableau a pour résultat la renumérotation des clés, sauf l'assignement direct de la forme: a[clé] = valeur
Vous devez convenir que remplir un tableau comme un dictionnaire est source de confusion si l'on veut retrouver les élément par leur position, utilisez plutôt la méthode "push".