上篇文章為大家介紹了《繼續學習-AJAX PHP(附源碼)》,本文繼續介紹新的內容給大家-PHP7,相信大家已經對php7有過一點的了解,並且產生了濃厚的興趣,現在就讓我們出發去看看吧! ! !
PHP7版本對變數解析機製做了調整,調整如下:
一、間接變數、屬性、方法參考都依照左到右的順序來解釋:
$$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關鍵字現在只能引用簡單變數
global $$foo->bar; // 这种写法不支持。 global ${$foo->bar}; // 需用大括号来达到效果。
三、用括號把變數或函數括起來沒有用了
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
注意第二句的調用,是用圓括號包了起來,但還是報這個嚴格錯誤。之前版本的PHP是不會回報這個錯誤的。
四、引用賦值時自動建立的陣列元素或物件屬性順序和先前不同了。
$array = []; $array["a"] =& $array["b"]; $array["b"] = 1; var_dump($array); PHP7产生的数组:["a" => 1, "b" => 1] PHP5产生的数组:["b" => 1, "a" => 1]
推薦學習:《PHP影片教學》
以上是對php7的了解(附詳細教學)的詳細內容。更多資訊請關注PHP中文網其他相關文章!