PHP警告:非法字符串偏移

时间:2013-04-18 16:35:53

标签: php string offset

我是PHP的新手。 今天PHP从5.3.3迁移到5.4.4版本(Debian Squeeze到Debian Wheezy),之后我从Apache日志中收到此错误:

> PHP警告:xyz中的非法字符串偏移'phptype'

该行是:

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

我需要帮助来恢复系统。

2 个答案:

答案 0 :(得分:4)

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

正如评论中的一些人所说,做这样的事情可能会导致错误。正如您在上面的示例中所看到的,$a是字符串而不是数组。这意味着您无法使用密钥访问它(如果您希望获得字符串中的第3个字母,则可以$a[2])。

您需要检查self::$conn$dsn实际上是数组而不是字符串。正如ÁlvaroG。Vicario在评论中所说,你可以通过转储变量来实现:

var_dump(self::$conn, $dsn)

答案 1 :(得分:0)

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