Maison > Questions et réponses > le corps du texte
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粉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.
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']);