-1

我的 cronjobs 报告中有这个错误

PHP 严格标准:从第 28 行的 /home/admin/domains/DOMAIN.com/public_html/birthdate.php 中的空值创建默认对象严格标准:从 /home/admin/domains/DOMAIN.com 中的空值创建默认对象/public_html/birthdate.php 第 28 行

和我的代码:

28-   $D->user_birthdate = array();
29-   $latest_members_arr = $network->get_user_birthdate();
30-   foreach($latest_members_arr as $usr)
40-   {
41-     $D->user_birthdate[]    = $network->get_user_by_id($usr);
42-   }
43-    $num    = 30;
44-   $D->user_birthdate    = array_slice($D->user_birthdate, 0, $num);

我该如何解决这个问题?

4

3 回答 3

5

在代码的顶部添加以下行。

$D =  new stdClass();
$D->user_birthdate = array();

你得到错误,因为$D不存在。您应该创建一个新的 StdClass 对象。stdClass 是 php 的通用空类。阅读更多

鉴于如果您的 $D 对象具有特定类型(对象类型),请确保您使用它。例如:

$D =  new dClass();

$D是一个类的对象dClass()

于 2013-01-08T16:26:08.767 回答
2

可能 $D 为空?改用数组:

$birth_dates = array();
$latest_members_arr = $network->get_user_birthdate();
foreach($latest_members_arr as $usr)
{
   birth_dates[]    = $network->get_user_by_id($usr);
}

或者,考虑在 $D 为空的情况下使用标准类,将其添加到代码的顶部:

if (empty($D)) {
$D = new stdClass();
}
于 2013-01-08T16:24:42.400 回答
1

$D没有定义。必须使用new关键字(或从先前实例化的对象复制)将其设置为某些值,然后才能分配值。

于 2013-01-08T16:24:44.357 回答