Bonjour,
j'ai une notice ->
Notice: Indefined offset: 0 in...
avec : $tab_matchv[$p] .= $rv;
$p etant une variable de compteur.
Pourquoi ?
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 un
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo $p;
$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é.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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 tab_matchv = array(""); $p=0; $tab_matchv[$p] .= $rv;
Il manque un $
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.Visiblement pas pour le serveur sur lequel se trouve le scriptJe 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) ?$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"...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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php for ($x=0; $x<sizeof($Tableau); $x++) echo $Tableau[$x]; ?>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager