par
sirakawa » 11 mars 2012, 09:39
Dès qu'un tableau existe du genre:
$texte[0] = "Hymne";
$texte[1] ="semper laus";
$texte[2] ="sonnet"
$texte[3] ="in terra";
S'il est facile
de modifier le contenu d'un de ses éléments:
$texte[2] = "resonet",
de supprimer un de ses éléments
$texte[0]= "";
ajouter une page à la fin:
$texte[] = "la suite";
Si on désire insérer un élément, il faut d'abord décaler toutes les cellules qui suivront cet élément:
pour insérer une nouvelle page 3, il faudra faire passer $texte[3] en $texte[4], puis affecter $texte[3].
array_slice, puis array_merge deevrait y parvenir.
Ces considérations, aux syntaxes près, s'appliquent à tous les langages de programmation que je connais.
On pourrait imaginer que PHP ajoute une fonction array_insert($ligne, $tableau, $place)....
Ce que tu sembles vouloir est ce que font sans le dire les SGBD qui présentent les données sous forme de tableaux, et les stockent sous forme de fichiers, aux enregistrements de longueur fixe, permettant justement un accès direct, sachant que les objets de longueur variable comme les TEXT de mysql, sont stockés à l'extérieur du fichier de la table.
Dès qu'un tableau existe du genre:
$texte[0] = "Hymne";
$texte[1] ="semper laus";
$texte[2] ="sonnet"
$texte[3] ="in terra";
S'il est facile
de modifier le contenu d'un de ses éléments:
$texte[2] = "resonet",
de supprimer un de ses éléments
$texte[0]= "";
ajouter une page à la fin:
$texte[] = "la suite";
Si on désire insérer un élément, il faut d'abord décaler toutes les cellules qui suivront cet élément:
pour insérer une nouvelle page 3, il faudra faire passer $texte[3] en $texte[4], puis affecter $texte[3].
array_slice, puis array_merge deevrait y parvenir.
Ces considérations, aux syntaxes près, s'appliquent à tous les langages de programmation que je connais.
On pourrait imaginer que PHP ajoute une fonction array_insert($ligne, $tableau, $place)....
Ce que tu sembles vouloir est ce que font sans le dire les SGBD qui présentent les données sous forme de tableaux, et les stockent sous forme de fichiers, aux enregistrements de longueur fixe, permettant justement un accès direct, sachant que les objets de longueur variable comme les TEXT de mysql, sont stockés à l'extérieur du fichier de la table.