[英]Fixing 'Creating default object from empty value' warning in PHP
我最近將一個Joomla 2.5站點從我的開發服務器上載到了主機,並發現屬於我們站點的一部分擴展使用的PHP代碼在PHP 5.5中不再“可以接受”。 我一直在
警告:從第36行的空值... / helper.php創建默認對象
由於這只是我遇到的一個錯誤,因此我想修復php而不是簡單地隱藏警告。生成錯誤的相關代碼行是:
$lists[$i]->id = $row->id;
我知道我應該添加一個新的StdClass;
在錯誤之前使用變量嘗試調用,它試圖根據本文中的Mark Tomlin的響應訪問該變量如何解決PHP中的“從空值創建默認對象”警告
但是,作為php newb,我不確定在下面的代碼中將如何顯示。
{
public static function getList($params)
{
$items = modArticlesLatestHelper::getList($params);
$text_length = intval($params->get( 'preview_count', 200) );
$tags = $params->get('strip_tags', "a,i,br");
$i=0;
$lists = array();
foreach ( $items as $row )
{
//process content plugins
$text = JHTML::_('content.prepare',$row->introtext);
$lists[$i]->id = $row->id;
$lists[$i]->thumb = self::getThumb($row->introtext,$params->get('thumb_width',160));
$lists[$i]->created = $row->created;
$lists[$i]->modified = $row->modified;
$lists[$i]->link = $row->link;
$lists[$i]->title = htmlspecialchars( $row->title );
$lists[$i]->introtext = self::prepareContent( $text, $text_length, $tags);
$i++;
}
return $lists;
}
在此先感謝您的建議,想法和幫助。
在設置屬性之前創建對象
$lists[$i] = new stdClass();
$lists[$i]->id = $row->id;
或單線解決方案
$lists[$i] = (object)array('id' => $row->id);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.