Tableau et insertion

Mammouth du PHP | 1668 Messages

15 juin 2008, 15:02

Bonjour à toutes et tous,
J'ai cherché dans les fonctions array et je n'ai trouvé aucune fonction me premettant de faire ça :
// Tableau initiale
$tab[0]='ini1';
$tab[1]='ini2';
$tab[2]='ini3';
$tab[3]='ini4';
$tab[4]='ini5';
$tab[5]='ini6';

// Après l'usage d'une fonction qui se base sur le numéreau de la clef :
$tab[0]='ini1';
$tab[1]='ini2';
$tab[2]='ini3';
$tab[3]='aj1';// Ligne ajoutée
$tab[4]='aj2';// """""""""""""
$tab[5]='aj3';//""""""""""""""
$tab[6]='ini4';
$tab[7]='ini5';
$tab[8]='ini6';
aj 1, 2 et 3 viendrait d'un autre tableau

Si quelqu'un à une idée :roll:

Par avance merci

PS : Deuxième problème

J'ai un foreach qui parcours un tableau, chaque fois qu'il rencontre 'c3' comme valeur j'aimerais qu'il modifie la tableau pour remplacer c3 par 'remplace'

J'ai tenté ça en vaint :
<?php
$tableau=array();
$tableau[0]='c1';
$tableau[1]='c2';
$tableau[2]='c3';
$tableau[3]='c4';
$tableau[4]='c5';
print_r($tableau);
foreach($tableau as $clef => $valeur){
 $valeur = str_replace('c3', 'remplace', $valeur);
 }
print_r($tableau);

foreach($tableau as $clef => $valeur){
 $tableau[$clef] = str_replace('c3', 'remplace', $valeur);
 }
 print_r($tableau);
?>
Des idées ? :roll:
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Eléphant du PHP | 353 Messages

15 juin 2008, 20:19

foreach travaille avec une copie du tableau donc le comportement est normal.
Pour ton premier problème, sans plus d'explications, je ne vois pas trop quoi te dire!

Mammouth du PHP | 1668 Messages

15 juin 2008, 20:27

Je viens de trouver les réponses, tout seul, comme un grand :P
// Tableau initiale
$tab[0]='ini1';
$tab[1]='ini2';
$tab[2]='ini3';
$tab[3]='ini4';
$tab[4]='ini5';
$tab[5]='ini6';

// Après l'usage d'une fonction qui se base sur le numéreau de la clef :
$tab[0]='ini1';
$tab[1]='ini2';
$tab[2]='ini3';
$tab[3]='aj1';// Ligne ajoutée
$tab[4]='aj2';// """""""""""""
$tab[5]='aj3';//""""""""""""""
$tab[6]='ini4';
$tab[7]='ini5';
$tab[8]='ini6';
En fait j'écrit dans les fichiers avec une fonction qui prend comme parramètre les array, j'utiliserai la récursivité pour ça

Deuxième problème

Le première boucle ne peut pas marcher, c'est vrai, la seconde non plus, je veut remplacer quelque chose qui n'est pas dans le tableau ^^'
<?php
$tableau=array();
$tableau[0]='c1';
$tableau[1]='c2';
$tableau[2]='c3';
$tableau[3]='c4';
$tableau[4]='c5';
print_r($tableau);
foreach($tableau as $clef => $valeur){
 $valeur = str_replace('c3', 'remplace', $valeur);
 }
print_r($tableau);

foreach($tableau as $clef => $valeur){
 $tableau[$clef] = str_replace('c3', 'remplace', $valeur); // faut remplacer le c par le v xD
 }
 print_r($tableau);
?>
Merci quand même :)
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Mammouth du PHP | 1668 Messages

17 juin 2008, 17:14

J'ai résolue mon problème, mais il me manque une fonction :
$tab=array_merge(array_function(0, 3, $tab), $tab2, array_function(3, 3, $tab));
array_function(0, 3, $tab) me permettrais de récupérer à partir de l'index 0 de $tab les 3 entré dont l'entré 0

Quelqu'un connais le nom de cette fonction ???
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol