Php 如果条件是抛出通知
如果条件是抛出以下通知,如何修复此问题Php 如果条件是抛出通知,php,Php,如果条件是抛出以下通知,如何修复此问题 Notice: Trying to get property of non-object in /view_rep.php on line 17 这是我的php代码 if ($check->check_area->id != @$_GET['check_area']) { unset($check[$k]); } 我尝试了以下方法,但仍然可以看到多个通知 error_reporting(0); ini_set('display_erro
Notice: Trying to get property of non-object in /view_rep.php on line 17
这是我的php代码
if ($check->check_area->id != @$_GET['check_area']) {
unset($check[$k]);
}
我尝试了以下方法,但仍然可以看到多个通知
error_reporting(0);
ini_set('display_errors',0);
打印($check),打印以下内容
[check_area] => stdClass Object
(
[id] => 5429140
[url] => /api/v2/checke_areas/5429140
[name] => Other
)
似乎
$check
是一个对象数组。如果是这种情况,请更改您的If
条件
if ($check->check_area->id ...
到
似乎
$check
是一个对象数组。如果是这种情况,请更改您的If
条件
if ($check->check_area->id ...
到
要使
$check->check\u area->id
正常工作:
$check
必须是属性为check\u area
的对象李>
$check->check\u区域
必须是属性为id
的对象属性
错误,则未满足其中一项或两项要求
在尝试访问属性之前,请尝试检查它们是否为对象:
if ($check instanceof stdClass) {
}
要使
$check->check\u area->id
正常工作:
$check
必须是属性为check\u area
的对象李>
$check->check\u区域
必须是属性为id
的对象属性
错误,则未满足其中一项或两项要求
在尝试访问属性之前,请尝试检查它们是否为对象:
if ($check instanceof stdClass) {
}
你能分享
print\r($check)
?@SahilGulati[check\u area]=>stdClass对象([id]=>5429130[url]=>/api/v2/check\u area/5429130请确保你的文件在/view\u rep.php
上,如果($check->check\u area->id!=$\u GET['check\u area']){unset($check[$k]),这是吗
@SahilGulati是否完全相同您可以共享完整的代码?因为您上面的代码看起来很好。您可以共享打印($check)
?@SahilGulati[check\u area]=>stdClass对象([id]=>5429130[url]=>/api/v2/check_area/5429130请确保您的帐户位于/view_rep.php
和第17行这是如果($check->check_area->id!=@$_GET['check_area']){unset($check[$k])
@SahilGulati您能分享完整的代码吗?因为您上面的代码看起来不错。现在的错误是致命错误:无法将stdClass类型的对象用作数组in@user580950执行var\u转储($check)
并告诉我们它显示了什么。粘贴内容并在这里给我它的链接。@user580950从转储中可以看到,$check
是一个数组,所以上面的解决方案可以正常工作。你确定你收到了这个错误吗致命错误:无法使用对象…在第17行?是的,如果我将If条件更改为If($check['check\u area']->id…我得到一个致命错误:无法将stdClass类型的对象用作数组in@user580950它对我来说工作得很好。请看这里。这里有一些进一步调试此问题的指针,1)检查$Check
是否为数组。2)如果在任何循环中,请确保没有使用该。3)使用变量转储(…)
要查看不同的变量结构,从长远来看,这将对您有所帮助。如果无法解决您的问题,我将在稍后删除此答案。现在的错误是致命错误:无法将stdClass类型的对象用作数组in@user580950执行var\u转储($check)
并告诉我们它显示了什么。粘贴内容并在这里给我它的链接。@user580950从转储中可以看到,$check
是一个数组,所以上面的解决方案可以正常工作。你确定你收到了这个错误吗致命错误:无法使用对象…在第17行?是的,如果我将If条件更改为If($check['check\u area']->id…我得到一个致命错误:无法将stdClass类型的对象用作数组in@user580950它对我来说工作得很好。请看这里。这里有一些进一步调试此问题的指针,1)检查$Check
是否为数组。2)如果在任何循环中,请确保没有使用该。3)使用变量转储(…)
要查看不同的变量结构,从长远来看,这将对您有所帮助。如果这个答案不能解决您的问题,我将在以后删除它。