我正在尝试执行此代码(它正在处理PHP5,现在我在PHP7上):
$this->links->$data[$te]['attributes']['ID'] = $data[$te]['attributes']['URL'];
但我得到这个错误:
ContextErrorException: Notice: Array to string conversion
提前致谢
这取决于PHP 5与7中复杂变量解决方式的变化.请参阅此处有关变量处理的更改部分:
http://php.net/manual/en/migration70.incompatible.php
不同的是表达式:
$this->links->$data[$te]['attributes']['ID']
在PHP 5中评估如下:
$this->links->{$data[$te]['attributes']['ID']}
在PHP 7中像这样:
($this->links->$data)[$te]['attributes']['ID']
有关简要示例,请参见https://3v4l.org/gB0rQ.
您需要将代码修改为明确的,或者通过适当地使用{},或者将其分解为两行.在这种情况下,如果您的代码在PHP 5中运行良好,请选择前者,因为这意味着该行为在所有PHP版本中保持一致.
原文地址:https://www.jb51.cc/php/130266.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。