升级我的php5.4后从空值创建默认对象

时间:2012-10-28 16:15:20

标签: php

我遇到了与php 5.4相关的问题。我使用的是php5.4。在它之前是5.2。

现在升级后我遇到了问题。现在我的网站有很多警告

  

从空值创建默认对象

我试图通过查看其他帖子来解决这个问题,但没有成功。

警告就在这一行

$searchresult[$pluginname][$i]->title = $value->title;

2 个答案:

答案 0 :(得分:1)

是的,对于旧版本的PHP,您可以这样做:

$a = null;
$a->somevar = 3;`

因为$ a自动转换为stdClass类型。

使用PHP 5.4你不能这样做:你必须手动实现$ a。

$a = new stdClass(); 
$a->somevar = 3;`

或者更好的是,如果可以,请使用数组:

$a = array('somevar' => 3);

答案 1 :(得分:0)

这是解决此问题的愚蠢方法,但您可以通过将error_reporting设置为E_ALL & ~E_NOTICE & ~E_STRICT来获得警告。

如果您打算以任何方式做错事而不重写@theredled建议的代码,这将特别有用。