Insertion de ligne en plein milieu d'un tableau php avec index numérique

Contenu du snippet

Si vous avez un ordre à respcetr avec vos index de tableau et que vous voulez y insérer une valeur.

Vous avez en dessous l'exemple tout prêt avec la fonction en compacte et la meme fonction en expliquée

Source / Exemple :


debut tableau<br>
<?php
$test[0] = "a";
$test[1] = "b";
$test[2] = "d";
$test[3] = "e";
$test[4] = "f";
//AFFICHAGE TABLEAU
for ($i=0;$i<count($test);$i++){
	echo $test[$i]."<br>";
}
echo "<br>";
$test = tabAjoutLigne($test,2,"HELLO !!");
echo"<br>";
echo "tableau final<br>";
for ($i=0;$i<count($test);$i++){
	echo $test[$i]."<br>";
}
?> 
</body>
</html>

<?php

// FUNCTION EPUREE

function tabAjoutLigne($tableau,$ligne,$contenu){
	$limit = $ligne + 1;
	for($i=0;$i<$limit;$i++){$temp1[] = $tableau[$i];}
	for($i=$limit;$i<count($tableau);$i++){$temp2[] = $tableau[$i];}
	unset($tableau);
	for($i=0;$i<count($temp1);$i++){$tableau[] = $temp1[$i];}
	$tableau[]= $contenu;
	for($i=0;$i<count($temp2);$i++){$tableau[] = $temp2[$i];}
	return $tableau;
}

  
  // function qui permet d'ajouter une ligne vide dans un tableau
// parametres : $tableau -> tableau à passer
// 				$ligne   -> int qui permet de choisr après kel position on insert
//							!!!! L'index va de 0 -> +infini
// 				$contenu -> Valeur à mettre dans la nouvelle ligne du tableau
function tabAjoutLigne($tableau,$ligne,$contenu){
	// REMPLISSAGE PREMIER TABLEAU TEMP1
	
	$limit = $ligne + 1;
	for($i=0;$i<$limit;$i++){
		$temp1[] = $tableau[$i];	
	}
	
	// REMPLISSAGE SECOND TABLEAU TEMP2
	for($i=$limit;$i<count($tableau);$i++){
		$temp2[] = $tableau[$i];	
	}
	//DESTRUCTION DU TABLEAU D'ORIGINE
	unset($tableau);
	//AFFICHAGE TEMP1 retirez les commentaires si vous voulez voir
	/*
	echo"<br>";
	echo "tableau temp1<br>";
	for ($i=0;$i<count($temp1);$i++){
		echo $temp1[$i]."<br>";
	}
	// AFFICHAGE TEMP2 retirez les commentaires si vous voulez voir
	echo"<br>";
	echo "tableau temp2<br>";
	for ($i=0;$i<count($temp2);$i++){
		echo $temp2[$i]."<br>";
	}

  • /
// RECREATION DU TABLEAU D'ORIGINE AVEC LES VALEURS DE TEMP1 for($i=0;$i<count($temp1);$i++){ $tableau[] = $temp1[$i]; } //ajout d'une ligne vide $tableau[]= $contenu; // RECREATION DU TABLEAU D'ORIGINE AVEC LES VALEURS DE TEMP2 for($i=0;$i<count($temp2);$i++){ $tableau[] = $temp2[$i]; } return $tableau; } ?>

Conclusion :


Je vais voir quand même si je peux pas l'optimiser....
enfin je vais voir...
Je suis uvert à toute proposition concernant des modifs ou des ajouts...

A+

booth

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.