Bonjour,
j'ai une notice ->
Notice: Indefined offset: 0 in...
avec : $tab_matchv[$p] .= $rv;
$p etant une variable de compteur.
Pourquoi ?
Version imprimable
Bonjour,
j'ai une notice ->
Notice: Indefined offset: 0 in...
avec : $tab_matchv[$p] .= $rv;
$p etant une variable de compteur.
Pourquoi ?
tu as fait echo $p pour voir ce qu'elle contient ?
Non et je ne peux pas car j'ai le ftp occupé,
$p est par defaut initialiser a 0
$tab_matchv est declaré en tant que tableau
$rv peut eventuellement etre vide
C'est quoi cette notice ?
Typiquement, tu veux lire un case de ton tableau qui n'existe pas.
Vu le petit bout de code que tu as mis, j'aurai tendance a penser que, dans la mesure ou tu concatène, la premiere fois, $tab_matchv[$p] n'est pas renseigné.
Cela ne fait pas planter parce que php initialise tout seul par défaut a vide, mais ca génère une notice, parce que c'est mal ;-)
Tu as besoin de ftp pour tester ? tu test pas en local ?
Bah je sais pas ce que contient $p, apparemment il est indéfini, pour vérifier faut faire unCode:echo $p;
Donne plus de code
$p est par defaut initialiser a 0
$tab_matchv est declaré en tant que tableau vide
$rv peut eventuellement etre vide
Tu veux dire qu'en initialisant le tableau avant avec 1 élément fictif, cela devrait enlever la notice ?
tab_matchv = array("0");
$p=0;
$tab_matchv[$p] .= $rv;
??
Oui il faut que l'index corresponde à un élement intialisé.Citation:
Tu veux dire qu'en initialisant le tableau avant avec 1 élément fictif, cela devrait enlever la notice ?
tab_matchv = array("0");
$p=0;
$tab_matchv[$p] .= $rv;
??
Je pense que l'initialiser à chaîne vide devrais suffire
Mais pourquoi un tableau s'il contient qu'une chaîne ?Code:
1
2
3 tab_matchv = array(""); $p=0; $tab_matchv[$p] .= $rv;
Il manque un $
Code:
1
2
3 $tab_matchv = array(""); $p=0; $tab_matchv[$p] .= $rv;
Sinon tu tests si ton élément existe avant de l'utiliser :
Code:
1
2
3
4
5
6
7
8
9 $tab_matchv = array(); $p=0; if(!isset($tab_matchv[$p])) $tab_matchv[$p] = ''; $tab_matchv[$p] .= $rv;
Je suis perplexe, as tu testé avec une chaîne vide ? Je vois pas pourquoi il faudrais un caractère.Citation:
Visiblement pas pour le serveur sur lequel se trouve le scriptCitation:
Je pense que l'initialiser à chaîne vide devrais suffire
C'est à dire ? qu'appelle tu vide ? est tu sur qu'il est bien initialisé aussi (chaîne ou chaîne vide) ?Citation:
$rv peut eventuellement etre vide
MdR, mais faut tester pour comprendre, si t'as pas tester, comment peux tu dire que ya un problème ?
je pense pas que tu ais compris le sens de "tester"...Citation:
non, je déteste tester. je préfère comprendre en premier et appliquer ensuite.
Et si tu nous passais le code avec ta boucle autour, si t'es dans une boucle, tu fais peut etre ta boucle trop loin
Si tu as un tableau $Tableau qui a un sizeof($Tableau) =5, tu fais une boucle allant de 0 a 4 :
Et si ta boucle tu la fait aller jusqu'à 5, bah ya le problème que tu as (si c'est bien ton cas )Code:
1
2
3
4 <?php for ($x=0; $x<sizeof($Tableau); $x++) echo $Tableau[$x]; ?>