egol
Messages postés6Date d'inscriptionvendredi 12 mai 2006StatutMembreDernière intervention21 mai 2006
-
20 mai 2006 à 21:27
egol
Messages postés6Date d'inscriptionvendredi 12 mai 2006StatutMembreDernière intervention21 mai 2006
-
21 mai 2006 à 13:06
bonsoir !
je sèche sur un bête problème de tableau...
Depuis un formulaire, je récupère des valeurs à partir de cases à
cocher qui, lorsqu'elle s'affichent dans mon backoffice ont la facheuse
tendance à mettre systématiquement le mot "array" en début de liste.
C normal paraît-il... mais comment je peux faire pour que cela ne se produise pas ?
Si qq pouvait m'expliquer ce phénomène avec un exemple à l'appui ça serait très sympa.
Merci d'avance !
voilà un extrait de mon code
Dans le form:
Et dans le backoffice:
$bike=$_POST['bike'];
if(isset($_POST['bike'])) {
for ($i=0, $j=count($_POST['bike']); $i<$j; $i++) {
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 21 mai 2006 à 10:33
hello,
$bike=$_POST['bike'];
=> ici tu assignes un tableau ($_POST['bike'] est un tableau, puisque ce sont plusieurs cases à cocher) à une variable $bike.
for ($i=0, $j=count($_POST['bike']); $i<$j; $i++) {
$bike.=$_POST['bike'][$i];
}
=> ici, tu concatènes un tableau $bike à une chaîne qui est une valeur de ton tableau $_POST['bike'].
On ne concatène pas une chaîne à un tableau! On concatène 2 chaînes, ça oui. Mais un tableau ne se concatène pas.
Donc ce qui t'arrive est normal. Par contre, je ne comprends pas où tu veux en venir avec ce code.
Sinon, en vrac : évite les fonctions dans l'expression d'une boucle for. L'expression est réévaluée à chaque itération. Bref, ici, tu comptes plein de fois ton tableau alors que tu pourrais ne le compter qu'une seule fois:
for ($i=0, $j=count($_POST['bike']); $i<$j; $i++)
=>
$iCpt = count ($_POST['bike']);
for ($i=0; $i<$iCpt; $i++)