如何修复PHP严格错误“从空值创建默认对象”?
我有以下PHP5代码:
$request = NULL;
$request->{"header"}->{"sessionid"} = $_SESSION['testSession'];
$request->{"header"}->{"type"} = "request";
第2行和第3行产生以下错误:
PHP严格标准:从空值创建默认对象
我该如何解决这个错误?
空不是一个对象,所以你不能给它赋值。 从你正在做的事情看,你需要一个关联数组。 如果你对使用对象没有兴趣,你可以使用stdClass
//using arrays
$request = array();
$request["header"]["sessionid"] = $_SESSION['testSession'];
$request["header"]["type"] = "request";
//using stdClass
$request = new stdClass();
$request->header = new stdClass();
$request->header->sessionid = $_SESSION['testSession'];
$request->header->type = "request";
我会推荐使用数组,因为它是一个整洁的语法,可能具有相同的底层实现。
摆脱$ request = NULL并替换为:
$request = new stdClass;
$request->header = new stdClass;
您正试图写入NULL而不是实际的对象。
要压制错误:
error_reporting(0);
修复错误:
$request = new stdClass();
心连心
链接地址: http://www.djcxy.com/p/59393.html上一篇: How do I fix the PHP Strict error "Creating default object from empty value"?
下一篇: after upgrading my php5.4 Creating default object from empty value