PHP7部分新特性

2021-10-06 17:26:34 字數 1322 閱讀 3900

<?php 

//1、間接變數,屬性和方法引用都按照從左往右的順序解釋

$foo['a']='b';

$b='間接變數列印';

//echo $$foo['a']."\n"; //使用php7.2報如下錯誤:

//php notice: array to string conversion in file on line 5

//php notice: undefined variable: array in file on line 5

//使用php5.6可以正常顯示

echo $."\n"; //php7,php5.6都能正常顯示

//2、global關鍵字只能引用簡單變數

//global $$foo['a']; //php7不支援這種寫法報錯:php parse error: syntax error, unexpected '[', expecting ',' or ';'

global $; 均不報錯

//3、用括號引起來的變數或者函式不能直接以函式引數的形式傳遞,函式引數應該是變數。

function

getarr

() //$last = array_pop(getarr()); 在php5.6下不報錯,在php7.2下報錯:php notice: only variables should be passed by reference

//下面的方式相容php5.6,php7都沒有錯誤。

$arr = getarr();

$last = array_pop($arr);

//4、list():

// 1、空的list()賦值不再允許

// 2、list()不在支援字串拆分功能

// 3、list()支援物件賦值功能。

$a = 123;

list() = $a; //php7會報錯,php5不會報錯

$str="ab";

list($a,$b)=$str;//php5會把字串變成變數賦值給$a,$b。php7返回的全部是null

echo

$a; echo

$b; //5、func_get_arg和func_get_args()調整,func_get_arg()和func_get_args()這兩個方法返回引數當前的值,而不是傳入時的值。當前的值有可能會被修改

function

func

($x)

func(1); 列印x的值是1,php7列印的是2

php7的新特性

截止到目前為止,php官方已經發布了php7的rc5版本,預計在11月份左右會發布第乙個正式版本!現在來說php7的重大特性肯定已經是定型了,不會再有什麼變動了。後續一些版本的迭代主要也就是修修bug,優化之類的。下面就來說話我們一直期待的php7.0新特徵吧。1.標量引數型別宣告 現在支援字串 s...

PHP7 常用新特性

1.標量型別宣告 php是一種弱型別的程式語言,因此沒有提供任何方法來指定輸入引數和返回值的型別,php7突破了這種現狀,增加了對標量型別 int,float,string,bool 的宣告支援,增加declare strict types 1 指令宣告是否嚴格型別校驗,來看一段 declare s...

PHP7的新特性

php7 從發布到現在已經有快三年的時間了,現在已經發展到 php7.2.9 版本了。它的發布給 php 帶來了很大的效能提公升,這主要是得益於 php 對 zend 引擎的深度優化,同時還降低了 php 對系統的資源占用。主要的變化有以下幾點 在php之前的版本中,php 在語法解析階段直接生成了...