簡體   English   中英

PHP 7 致命錯誤:未捕獲錯誤:無法使用字符串偏移量作為數組

[英]PHP 7 Fatal error: Uncaught Error: Cannot use string offset as an array

在任何人將我的問題標記為重復之前,我想澄清一下,我的案例是獨一無二的並且特定於 PHP 7(我在 UniformServer 中使用 PHP 7.1.1)。 我在這里看到了所有其他類似的問題,但它們對我不起作用。

我有一個工作代碼如下:

在類構造函數中:

$this->fldSection = "header";

在下面的另一個函數中:

$_ENV['validate'][$this->fldSection][$this->name] = $params;

這在 PHP 5.6 中運行良好。 然而,這會在 PHP 7.1.1 中為$this->fldSection = 'header'$_ENV變量中設置時出現臭名昭著的“無法使用字符串偏移量作為數組..”錯誤

我所有的變量都是動態填充的。 在 PHP 7.1.1 中是否有不同/更好的方法來實現這一點?

我終於破解了這個問題的原因。 我正在使用超級全局$_ENV來存儲我的值並嘗試為其分配變量變量。 但是,從 PHP 文檔中我發現超全局變量支持變量。 我將變量更改為$GLOBAL而不是$_ENV (如下所示)並且它起作用了。

$GLOBAL['validate'][$this->fldSection][$this->name] = $params;

我不確定為什么它適用於 5.6 而不是 7.1。 我猜 PHP 可能只從 v7 開始嚴格執行這些規則。

暫無
暫無

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

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