2013-01-08 92 views
-1

創建默認對象在我cronjobs報告PHP嚴格的標準:從空值

PHP嚴格的標準,我有這樣的錯誤:在/home/admin/domains/DOMAIN.com/public_html/birthdate空值創建默認對象.PHP第28個 嚴格的標準:上線創建從空值默認對象/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); 

我該如何解決這個問題?

+2

你有實例$ d? –

+0

是的,我有它! – Drstreet

+1

然後向我們展示代碼,你如何實例化$ D? – mpaepper

回答

5

在代碼的頂部添加下面的行。

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

因爲$D不存在您得到的錯誤。你應該創建一個新的StdClass對象。 stdClass是php的通用空類。 Read more

鑑於如果您的$ D對象具有特定類型(對象類型),請確保使用它。 EG:

$D = new dClass(); 

這裏$D的類的對象dClass()

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(); 
} 
1

$D沒有定義。在分配值之前,必須將其設置爲使用關鍵字new(或從先前實例化的對象中複製)。