Avertissement PHP : décalage de chaîne illégal
P粉548512637
P粉548512637 2023-10-09 23:52:16
0
2
656

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粉548512637
P粉548512637

répondre à tous(2)
P粉420868294

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粉267885948

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']);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal