Amaran PHP: offset rentetan haram
P粉548512637
P粉548512637 2023-10-09 23:52:16
0
2
667

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

membalas semua(2)
P粉420868294

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

Sila cuba cara ini...saya telah menguji kod ini...ia berkesan...

$memcachedConfig = array("host" => "127.0.0.1","port" => "11211");
print_r($memcachedConfig['host']);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan