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)使用
    变量转储(…)
    要查看不同的变量结构,从长远来看,这将对您有所帮助。如果这个答案不能解决您的问题,我将在以后删除它。