为什么我在 PHP 7 中收到'致命错误:字符串不支持 [] 运算符”?

Mary-Kate Olsen
发布: 2024-11-01 05:03:27
原创
255 人浏览过

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学习者快速成长!