Maison  >  Questions et réponses  >  le corps du texte

Avertissement PHP : décalage de chaîne illégal

Après avoir mis à jour ma version PHP vers 5.4.0-3, je reçois une étrange erreur PHP.

J'ai ce tableau :

Array
(
    [host] => 127.0.0.1
    [port] => 11211
)

Je reçois des avertissements étranges lorsque j'essaie d'y accéder comme ça

print $memcachedConfig['host'];
 print $memcachedConfig['port'];


 Warning: Illegal string offset 'host' in ....
 Warning: Illegal string offset 'port' in ...

Je ne veux vraiment pas simplement modifier mon php.ini et réinitialiser le niveau d'erreur.

P粉548512637P粉548512637349 Il y a quelques jours579

répondre à tous(2)je répondrai

  • P粉420868294

    P粉4208682942023-10-10 12:23:40

    ErreurIllegal string offset 'whatever' in...signifie généralement : vous essayez d'utiliser une chaîne comme un tableau complet.

    Cela est en fait possible car en php, les chaînes peuvent être traitées comme des tableaux de caractères uniques. Vous pensez donc que $var est un tableau avec des clés, mais c'est juste une string avec des clés numériques standard, comme :

    $fruit_counts = array('apples'=>2, 'oranges'=>5, 'pears'=>0);
    echo $fruit_counts['oranges']; // echoes 5
    $fruit_counts = "an unexpected string assignment";
    echo $fruit_counts['oranges']; // causes illegal string offset error

    Vous pouvez le voir en action ici : http://ideone.com/fMhmkR

    Pour ceux d'entre vous qui posent cette question et tentent de transformer une fausse ambiguïté en solution, comme moi.

    répondre
    0
  • P粉267885948

    P粉2678859482023-10-10 10:42:00

    Veuillez essayer de cette façon... J'ai testé ce code... ça marche...

    $memcachedConfig = array("host" => "127.0.0.1","port" => "11211");
    print_r($memcachedConfig['host']);

    répondre
    0
  • Annulerrépondre