將我的 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粉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
對於那些提出這個問題並試圖將錯誤的模糊性轉化為解決問題的人,就像我一樣。
P粉2678859482023-10-10 10:42:00
請嘗試這種方式......我已經測試過這段程式碼......它有效......
$memcachedConfig = array("host" => "127.0.0.1","port" => "11211"); print_r($memcachedConfig['host']);