Rumah > Soal Jawab > teks badan
Selepas mengemas kini versi php saya kepada 5.4.0-3, saya mendapat ralat PHP yang pelik.
Saya mempunyai tatasusunan ini:
Array ( [host] => 127.0.0.1 [port] => 11211 )
Saya mendapat amaran pelik apabila saya cuba mengaksesnya seperti ini
print $memcachedConfig['host']; print $memcachedConfig['port']; Warning: Illegal string offset 'host' in .... Warning: Illegal string offset 'port' in ...
Saya benar-benar tidak mahu hanya mengedit php.ini saya dan menetapkan semula tahap ralat.
P粉4208682942023-10-10 12:23:40
RalatIllegal string offset 'whatever' in...
biasanya bermaksud: anda cuba menggunakan rentetan sebagai tatasusunan penuh.
Ini sebenarnya mungkin kerana dalam rentetan php boleh dianggap sebagai tatasusunan aksara tunggal. Jadi anda fikir $var ialah tatasusunan dengan kunci, tetapi ia hanyalah rentetan dengan kunci angka standard, seperti:
$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
Anda boleh melihatnya beraksi di sini: http://ideone.com/fMhmkR
Bagi anda yang bertanya soalan ini dan cuba mengubah kekaburan palsu menjadi penyelesaian, seperti saya.
P粉2678859482023-10-10 10:42:00
Sila cuba cara ini...saya telah menguji kod ini...ia berkesan...
$memcachedConfig = array("host" => "127.0.0.1","port" => "11211"); print_r($memcachedConfig['host']);