Insérer des éléments en début de tableau

Eléphant du PHP | 331 Messages

07 déc. 2006, 13:19

Bonjour,

J'ai toujours autant de difficultés à manipuler les tableaux.

Cette fois ce tableau suivant :
$tableau1 = array(1,4,3,8);
Et en vonction de la valeur de la variable suivante :
$NbInsertions = 4;
Je voudrais rajouter autant de 0 qui s'insèrent en début de tableau de sorte à avoir :
$tableau2 = array(0,0,0,0,1,4,3,8);
Pourriez-vous m'aider ? Je tourne en rond !

Merci !

ViPHP
ViPHP | 1961 Messages

07 déc. 2006, 13:28

Bonjour,

La fonction array_unshift() devrait te convenir.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 331 Messages

07 déc. 2006, 15:02

ALors voilà ce que j'ai fait :
$NbFois = 4;
$Chaine=array();

for($i=0;$i<$NbFois;$i++)
{
array_unshift ($Chaine,0);
}

$tableau = array(1,4,3,8); 
array_unshift ($tableau, $Chaine);
print_r($tableau);
Le problème, c'est que j'ai l'impression d'avoir à l'arrivée un tableau dans un autre car voici le résultat :
Array ( [0] => Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 ) [1] => 1 [2] => 4 [3] => 3 [4] => 8 )

Ne faudrait-il pas plutot concaténer deux tableaux si cela existe ? Ou pensez-vous à autre chose ?

Merci !

ViPHP
ViPHP | 1961 Messages

07 déc. 2006, 15:09

Re,

Voici un petit bout de code qui fonctionne
<?php
	$tab = array(1,2,3);
	$val = 4;
	for($i = 0; $i < $val; $i++){
		array_unshift($tab, 0);
	}
	echo '<pre>';
	print_r($tab);
	echo '</pre>';
?>
Le résultat

Code : Tout sélectionner

Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 [4] => 1 [5] => 2 [6] => 3 )
Inspire-toi de ça, mais si j'ai bien compris tes besoins, ça doit être ça.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 331 Messages

07 déc. 2006, 15:12

Merci, c'est exactement ça, et si simple en plus !

Merci bcp ! :lol: