我在这里得到通知和警告,而不是错误。我的代码仍然有效。只是想看看是否有人能够弄清楚为什么我收到了通知和警告。
Notice: Trying to get property of non-object in file.php on line 152
Warning: in_array() expects parameter 2 to be array, null given file.php on line 152
第152行是if()语句:
if($user->type == 'x' && in_array($user->email, $campaign->settings->email_list))
{ do stuff }
我已将问题指向$campaign
对象。在$ campaign上使用print_r可以输出相当多的信息,但这是重要的部分:
Campaign Object
{
[settings] => stdClass Object
(
[email_list] => Array
(
[0] => support@domain.com
[1] => customer@domain.com
)
)
}
显然,$ campaign-> settings-> email_list是一个数组。为什么我会收到通知和警告呢?直接在第152行上方创建$campaign
。
答案 0 :(得分:0)
我认为您可能会收到此通知,因为可能会将未初始化(可能是null
值)分配给$campaign->settings
广告系列的内部对象。
请确保var_dump($campaign->settings)
使用in_array
函数前的属性的实际价值是什么。
答案 1 :(得分:0)
试试这段时间它会起作用。
$campaign['settings']['email_list']