我得到一个奇怪的PHP错误后更新我的PHP版本到5.4.0-3。

我有这样一个数组:

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并重新设置错误级别。


当前回答

在我的情况下,我解决了它,当我改变函数,做sql查询 返回json_encode($array) 然后:返回$array

其他回答

请尝试这种方式....我已经测试了这个代码....它的工作原理……

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

在我的情况下,我解决了它,当我改变函数,做sql查询 返回json_encode($array) 然后:返回$array

在我的情况下:在获取数据库记录时,确保使用 result_array ();而不是row();或row_array ();

这对我来说很管用:

我的测试代码:

$var2['data'] = array ('a'=>'21','b'=>'32','c'=>'55','d'=>'66','e'=>'77');
foreach($var2 as $result)
{  
    $test = $result['c'];
}
print_r($test);

输出:55

看看吧,伙计们。谢谢

在检查数组之前,请执行以下操作:

if(!is_array($memcachedConfig))
     $memcachedConfig = array();