1. php7 list()修改实例分析
在PHP语言的7版本中,可以使用一个list()函数来实现将数组中的值赋值给变量的操作。在PHP7之前的版本中,这种操作需要使用多个变量来进行。下面我们来看一个实例,说明list()函数的使用方法:
$arr = array(1,2,3);
list($a, $b, $c) = $arr;
echo $a; //输出1
echo $b; //输出2
echo $c; //输出3
从上面的代码可以看出,我们通过list()函数成功将数组中的值分别赋值给了三个变量。在PHP7版本中,list()函数的使用与之前相比,它支持了新的语法:
$arr = array(1,2,3);
[$a, $b, $c] = $arr;
echo $a; //输出1
echo $b; //输出2
echo $c; //输出3
从上面的代码可以看出,我们可以通过中括号来进行变量的赋值,而这样的语法在PHP7之前是不支持的。这种语法在操作数组时非常方便,可以更加直观的修改数组中的值。
2. session模块的修改
2.1 session_start()函数修改
在PHP7版本中,session_start()函数的使用方法有所修改,下面我们来看一个例子说明具体的修改:
//PHP5
session_start($options);
//PHP7
session_start(['options' => $options]);
从上面的代码可以看出,在PHP7版本中我们需要将$options数组使用'options'键值来作为参数来传递给session_start()函数,这里我们需要注意$options数组的格式,必须要符合php.ini中session的配置格式。
2.2 session_id()函数修改
在PHP7版本中,session_id()函数的使用方法有所修改,下面我们来看一个例子说明具体的修改:
//PHP5
session_id($id);
//PHP7
session_id($id) === '' ? session_start() : session_start(['id' => $id]);
从上面的代码可以看出,在PHP7版本中,我们可以直接使用session_id()函数来设置session的id。同时,这个函数也可以用来获取当前session的id。如果我们传递的$id为空字符串,那么这个函数会返回当前session的id。如果$id不为空,我们可以通过判断session_id()函数的返回值来判断session是否已经开始。
3.其他模块的修改
除了上述所提到的session模块的修改,PHP7版本在其他模块中也做出了一些改变。例如,在mysqli模块中,添加了MYSQLI_REPORT_STRICT错误报告级别,可以使用这个级别来避免mysqli库在提供错误信息时,返回触发错误位置的函数调用栈信息。