首頁  >  問答  >  主體

PHP警告:非法的字串偏移量

將我的 php 版本更新到 5.4.0-3 後,我收到一個奇怪的 PHP 錯誤。

我有這個陣列:

Array
(
    [host] => 127.0.0.1
    [port] => 11211
)

當我嘗試像這樣訪問它時,我收到奇怪的警告

print $memcachedConfig['host'];
 print $memcachedConfig['port'];


 Warning: Illegal string offset 'host' in ....
 Warning: Illegal string offset 'port' in ...

我真的不想只編輯我的 php.ini 並重新設定錯誤等級。

P粉548512637P粉548512637399 天前622

全部回覆(2)我來回復

  • P粉420868294

    P粉4208682942023-10-10 12:23:40

    錯誤Illegal string offset 'whatever' in...通常意味著:您正在嘗試將字串用作完整數組。

    這實際上是可能的,因為在 php 中字串可以被視為單一字元的陣列。所以你認為 $var 是一個帶有鍵的數組,但它只是一個帶有標準數字鍵的字串,例如:

    $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

    您可以在此處查看實際效果: http://ideone.com/fMhmkR

    對於那些提出這個問題並試圖將錯誤的模糊性轉化為解決問題的人,就像我一樣。

    回覆
    0
  • P粉267885948

    P粉2678859482023-10-10 10:42:00

    請嘗試這種方式......我已經測試過這段程式碼......它有效......

    $memcachedConfig = array("host" => "127.0.0.1","port" => "11211");
    print_r($memcachedConfig['host']);

    回覆
    0
  • 取消回覆