簡體   English   中英

修復PHP中的“從空值創建默認對象”警告

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM