2013-04-18 101 views
5

我是PHP新手。 一个PHP今天从迁移到5.3.3版本5.4.4(Debian的挤压给Debian喘息),并在此之后,我从Apache日志此错误:PHP警告:非法字符串偏移量

> PHP的警告:非法串偏移“phptype”在XYZ

该生产线是:

self::$conn[$dsn['phptype']] = $mdb2; 

我需要帮助来恢复系统。

+3

我猜是'自:: $ conn'或'$ dsn'是一个字符串。 – hek2mgl

+2

'var_dump(self :: $ conn,$ dsn)' –

+4

[Illegal string offset Warning PHP]可能的重复(http://stackoverflow.com/questions/9869150/illegal-string-offset-warning-php) –

回答

0

当您尝试使用对象或数组作为索引键访问数组索引时,会发生非法偏移类型错误。检查你的数组是否合适。

4
<?php 
$a = 'Hello'; 
echo $a['whatever']; 
?> 

正如评论中的一些人所说,做这样的事情可能会导致错误。正如你在上面的例子中看到的,$a是一个字符串而不是数组。这意味着你不能用钥匙访问它(如果你想获得字符串中的第三个字母,那么可以使用$a[2])。

您需要检查self::$conn$dsn实际上是数组而不是字符串。作为阿尔瓦罗·维卡里奥G.在评论中说,您可以通过倾销变量做到这一点:

var_dump(self::$conn, $dsn)

相关问题