Rumah  >  Soal Jawab  >  teks badan

Amaran PHP: offset rentetan haram

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粉548512637P粉548512637349 hari yang lalu580

membalas semua(2)saya akan balas

  • P粉420868294

    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.

    balas
    0
  • P粉267885948

    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']);

    balas
    0
  • Batalbalas