国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Manual ciri baharu PHP7 / 變量處理機制修改

變量處理機制修改

變量處理機制修改


PHP7版本對變量解析機制做了調(diào)整,調(diào)整如下:

一、間接變量、屬性和方法引用都按照從左到右的順序進行解釋:

 $$foo['bar']['baz'] // interpreted as ($$foo)['bar']['baz']
 $foo->$bar['baz']   // interpreted as ($foo->$bar)['baz']
 $foo->$bar['baz']() // interpreted as ($foo->$bar)['baz']()
 Foo::$bar['baz']()  // interpreted as (Foo::$bar)['baz']()

 如果想改變解釋的順序,可以使用大括號:

${$foo['bar']['baz']}
$foo->{$bar['baz']}
$foo->{$bar['baz']}()
Foo::{$bar['baz']}()

二、global關(guān)鍵字現(xiàn)在只能引用簡單變量  

global $$foo->bar;    // 這種寫法不支持。
global ${$foo->bar};  // 需用大括號來達到效果。

三、用括號把變量或者函數(shù)括起來沒有用了

function getArray() { return [1, 2, 3]; }
$last = array_pop(getArray());
// Strict Standards: Only variables should be passed by reference
$last = array_pop((getArray()));
// Strict Standards: Only variables should be passed by reference
注意第二句的調(diào)用,是用圓括號包了起來,但還是報這個嚴格錯誤。之前版本的PHP是不會報這個錯誤的。

四、引用賦值時自動創(chuàng)建的數(shù)組元素或者對象屬性順序和以前不同了。 

$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);

PHP7產(chǎn)生的數(shù)組:["a" => 1, "b" => 1]
PHP5產(chǎn)生的數(shù)組:["b" => 1, "a" => 1]