為什麼我在 PHP 7 中收到「致命錯誤:字串不支援 [] 運算子」?

Mary-Kate Olsen
發布: 2024-11-01 05:03:27
原創
256 人瀏覽過

Why Am I Getting the

解決「致命錯誤:字串不支援[] 運算子」問題

嘗試使用片語法時會出現此致命錯誤用於非數組變數(通常是字串)上的數組推送操作。檢查提供的程式碼片段,很可能一個或多個變數($name、$date、$text、$date2)最初被定義為字串。

要修正此問題,請更改循環直接將行值分配給這些變數而不創建數組:

<code class="php">$name = $row['name'];
$date = $row['date'];
$text = $row['text'];
$date2 = $row['date2'];</code>
登入後複製

PHP 7 對具有空索引的數組推送語法實施了更嚴格的規則。先前定義為非陣列(字串、數字、物件)的變數現在被禁止使用此語法,從而導致上述錯誤。

強調一下,這些操作在PHP 7 中仍然有效:

<code class="php">unset($arrayWithEmptyIndices);
$arrayWithEmptyIndices[] = 'value'; // Creates an array and adds an entry

$array = []; // Creates an array
$array[] = 'value'; // Pushes an entry</code>
登入後複製

但是,嘗試對聲明為字串、數字或物件的變數使用陣列推送語法將導致致命錯誤:

<code class="php">$stringAsVariable = '';
$stringAsVariable[] = 'value';

$numberAsVariable = 1;
$numberAsVariable[] = 'value';

$objectAsVariable = new stdclass();
$objectAsVariable[] = 'value';</code>
登入後複製

以上是為什麼我在 PHP 7 中收到「致命錯誤:字串不支援 [] 運算子」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!