首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复PHP严格错误"Creating default object from value value"?

如何修复PHP严格错误"Creating default object from value value"?
EN

Stack Overflow用户
提问于 2009-12-23 07:54:05
回答 4查看 58.8K关注 0票数 18

我有以下PHP5代码:

代码语言:javascript
运行
复制
$request = NULL;
$request->{"header"}->{"sessionid"}        =  $_SESSION['testSession'];
$request->{"header"}->{"type"}             =  "request";

第2行和第3行产生以下错误:

严格标准:从空值创建默认对象

如何修复此错误?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-23 07:57:34

Null不是一个对象,所以你不能给它赋值。从您正在做的事情看,您似乎需要一个associative array。如果你一心想要使用对象,你可以使用stdClass

代码语言:javascript
运行
复制
//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";

我建议使用数组,因为它是一种更简洁的语法,(可能)具有相同的底层实现。

票数 42
EN

Stack Overflow用户

发布于 2009-12-23 07:58:19

去掉$request = NULL,替换为:

代码语言:javascript
运行
复制
$request = new stdClass;
$request->header = new stdClass;

您正在尝试写入NULL,而不是实际的对象。

票数 13
EN

Stack Overflow用户

发布于 2009-12-23 07:58:59

要抑制错误,请执行以下操作:

代码语言:javascript
运行
复制
error_reporting(0);

要修复错误,请执行以下操作:

代码语言:javascript
运行
复制
$request = new stdClass();

hth

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1949966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档