【问题标题】:after upgrading my php5.4 Creating default object from empty value升级我的 php5.4 后从空值创建默认对象
【发布时间】:2012-10-18 02:44:54
【问题描述】:

我有一个与 php 版本 5.4 相关的问题。我正在使用 php5.4。在 5.2 之前。

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

从空值创建默认对象

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

警告在这一行

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

【问题讨论】:

标签: php


【解决方案1】:

是的,使用旧版本的 PHP,您可以这样做:

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

因为 $a 自动变成了 stdClass 类型。

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

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

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

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

【讨论】:

  • 感谢现在删除的警告.. 我使用 $searchresult[$pluginname][$i]=new stdClass();.... Lawrence Cherone 也建议...感谢大家的帮助。 . 问候
【解决方案2】:

这是解决此问题的愚蠢方法,但是通过将 error_reporting 设置为 E_ALL & ~E_NOTICE & ~E_STRICT,您会收到警告。

如果您要以任何方式做错事而不是按照上面@theredled 的建议重写代码,这将特别有用。

【讨论】:

  • 谢谢 Rob...目前我正在使用它 :)
猜你喜欢
  • 1970-01-01
  • 2020-04-09
  • 1970-01-01
  • 2015-01-28
  • 2017-11-29
  • 2017-09-30
  • 2016-08-18
  • 2018-07-18
  • 2019-03-14
相关资源
最近更新 更多