最近一直在php 7.4 下调东西,发现有很多的代码需要在 php 7.4 下做兼容的修改。而今天就恰恰遇到了一处兼容性的错误,记录下来与大家分享一下。

兼容错误提示:

Array and string offset access syntax with curly braces is deprecated

错误原因:

由于 php 的7.4版本与之前的版本的相比的话,在一些逻辑与数据处理上做了很大程度的改变,其它一项就是不能够再使用花括号(也就是{}),来访问数组与字符串的偏移。如果你不是很懂的话,可以参考下面的例子。

示例1:php 7.4 不再允许使用花括号来访问数组的元素。

定义一个数组:

<?php
$arr = array('1','2','3');
?>

php 7.4以前的版本,可以使用以下的两种方式输出:

<?php
echo $arr[0];
echo $arr{0}; //注意,这里是花括号
?>

php 7.4版本的输出:

由于 php7.4 版本做了变化,不能够再使用花括号,所以只能使用第一种。

<?php
// php 7.4 只能使用下面的一种
echo $arr[0];
?>

例2 :php7.4 不允许使用花括号访问字符串的偏移

定义一个字符串

<?php
$arr = 'feiniaomy.com';
?>

php 7.4 之前的版本输出字符串的偏移

<?php
// 下面两种输出方式是等价的
echo $arr[0]; //输出字母 f
echo $arr{0}; //注意,这里是花括号
?>

php 7.4 输出字符串的偏移,不能使用花括号

<?php
// php 7.4版本,只能使用下面的一种
echo $arr[0]; //输出字母 f
?>

获取更多的 php教程 请关注本站!