Php7中的数组到字符串转换

我正在尝试执行此代码(它正在处理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版本中保持一致.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...