[英]Cannot use a scalar value as an array - PHP Octobercms
我之前曾做過這項工作,但事實並非如此。 我的模型中有一個數組,在組件中,我調用該數組並嘗試將其設置為頁面變量,但它拒絕擁有它。
模型-Profile.php
public static $ajaxSortingOptions = array(
'count_views desc' => 'Most Popular',
'count_photos desc' => 'Most Photos',
'count_videos desc' => 'Most Videos',
'created_at desc' => 'Recent Members',
'random' => 'Random'
);
組件-Profiles.php
public $sortingOptions;
public function getAjaxSortOrderOptions()
{
return Profile::$ajaxSortingOptions;
}
public function onRun()
{
$this->listProfiles();
$this->page['sortingOptions'] = $this->getAjaxSortOrderOptions();
}
在我看來
<select class="dropdown" name="Filter[sort]">
<option value="">Select</option>
{% for key,value in sortingOptions %}
<option value="{{key}}">{{ value }}</option>
{% endfor %}
</select>
無法將標量值用作數組
/var/www/public/plugins/libre/membership/components/Profiles.php line 147
有問題的線
$this->page['sortingOptions'] = $this->getAjaxSortOrderOptions();
請查看以下簡單測試示例:
class foo{
protected $page=1;
public function __construct(){
$this->page['bar'] = 'hello';
}
}
new foo;
產量
<br />
<b>Warning</b>: Cannot use a scalar value as an array in <b>[...][...]</b> on line <b>9</b><br />
我只是想把它放在這里,所以答案是一個簡單的答案。
謝謝,我在
$this->page = $this->page['page'] = $this->profiles->currentPage();
有這段代碼$this->page = $this->page['page'] = $this->profiles->currentPage();
別的地方
正如我在評論中說的那樣,做這樣的事情非常容易,因為它們當時是有效的。 就像使用=
代替==
,僅通過它引起的級聯效應很難發現該錯誤。
干杯!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.