Tableau, copie de tableau et count()
Bonjour,
A nouveau je vous sollicite. J'ai une fonction push() qui prends en paramètre un tableau et une valeur. La fonction push() ajoute la valeur au tableau et retourne un tableau de taille +1 par rapport au tableau passé en paramètre.
Je pensais initialement pouvoir faire ceci en passant le tableau par adresse et faire comme ceci:
Code:
1 2 3 4 5 6
|
function push (&$bInA, $i) {
$idx= count($bInA)+1;
$bInA[$idx] = $i;
// return $bInA;
} |
Mais elle ne fonctionne pas bien. J'ai ensuite essayé de modifier cette fonction push en créant un nouveau tableau intermédiaire, copier toute les donné de l'ancien tableau (celui passé en paramètre) et ajouter la nouvelle valeur. De cette façon:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
function push ($bInA, $x) {
$tmpLst = array();
$idx= count($bInA)+1;
for($i=0; $i<count($bInA); $i++ ) {
$tmpLst[$i]= $bInA[$i];
}
$tmpLst[$idx]= $x;
return $tmpLst;
} |
Or, elle ne fonctionne pas. Je l'appelle comme ceci dans un fichier PHP que j'ai nommé 'test.php'
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
<?php
require_once('../lib/lib_mediateque.php'); // cette bibliothèque contiens la fonction push()
$lst = array();
$lst[0]=1;
$lst[1]=12;
$lst[2]=112;
$lst[3]=134;
$lst[4]=1223;
$lst = push($lst, 1000);
// J'affiche toute les valeurs du tableau
echo "<br>";
for($i=0; $i<count($lst); $i++ ) {
echo "$i ";
echo "$lst[$i]";
echo "<br>";
}
?> |
Or, a l'affichage du tableau, j'ai un erreur du type:"Notice: Undefined offset: 5 ".
Une soluce ?
J.