簡體   English   中英

數組到字符串的轉換通知

[英]array to string conversion notice

我在以下代碼行上得到了這個神秘的nbotice:

$this->$aStyles = $aStyles;

此行代碼存在於此函數中:

private function cleanStyles()
{
    if ((isset($this->sValue))&&($this->sValue))
    {
        $this->aStyles = array();
        return true;
    }
    $aStyles = array();
    foreach ($this->aStyles as $oStyle)
        if ($oStyle->cleanStyles())
            $aStyles[] = $oStyle;
    $this->$aStyles = $aStyles;
    return (count($this->$aStyles)>0);
}

是否知道為什么會顯示此通知?

如果有幫助,這里有一些我想做的事情的背景知識:我有一個代表Excel報告的對象層次結構。 層次結構與phpExcel進行對話以實際繪制報告。 准備繪制時層次結構采取的步驟之一是清理樣式數組。

樣式對象可以包含樣式對象的數組,也可以包含一個值。

cleanStyles應該以遞歸方式清理樣式,因此可以通過確保存在的所有樣式都具有值或有效樣式數組來將其轉換為有效的phpExcel樣式數組。

從屬性取消引用中刪除$符號:

$this->aStyles = $aStyles;
------^

您的代碼無效,因為php在嘗試訪問對象值之前嘗試評估$aStyles 在這種情況下,aStyles是一個數組,因此您會得到通知,因為該語法僅在aStyles是String時才有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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