[Php] pb : Uninitialized string offset

Résolu
Xandler Messages postés 38 Statut Membre -  
 zaww -
Bonjour à tous !
J'ai un problème de "Uninitialized string offset: 0 in /var/www/html/evamed/evamed-stats/evamed-stats/testRconnection.php dans la fonction suivante :

$retourR=$connexion->read();
$res=$retourR;
$array_res=explode("\n",$res);
for ($i=0;$i<count($array_res); $i++) {
if ($array_res[$i][0]=="$")
$var = substr( $array_res[$i] , 1 , strlen($array_res[$i]));
else if ($array_res[$i][0]=="[")
$val = substr( $array_res[$i] , 3 , strlen($array_res[$i]));
else
$i++;
}
echo "valeur de $var = $val";

Si quelqu'un pouvait m'aider ce serait cool !
Merci d'avance
Configuration: Linux Fedora
Firefox 1.5.0.7

3 réponses

  1. bipede
     
    Le problème vient du fait que vous cherchez a comparer le premier caractère d'une chaine potentiellement vide.

    Si le tableau $array_res contient une chaine vide, l'expression $array_res[$i][0] provoque une erreur.
    13
    1. Xandler Messages postés 38 Statut Membre
       
      Je vois je te remercie de ta réponsse mais je pense que $array_res renvoit bien un tableau de chaîne de caractères. Or ma variable $res n'est pas vide, c'est pourquoi je me demande d'où peut venir l'erreur.
      0
    2. bipede
       
      Relisez attentivement ma réponse.

      exemple si $res ="aaaa\n\nbbbb"
      alors $array_res contient :
      "aaaa"
      ""
      "bbbb"

      C'est plus clair ?
      0
      1. Xandler Messages postés 38 Statut Membre > bipede
         
        Ok problème réglé ! Merci beaucoup et bonne journée
        0