首頁 > 後端開發 > PHP問題 > 對php7的了解(附詳細教學)

對php7的了解(附詳細教學)

慕斯
發布: 2023-03-10 08:16:01
原創
2859 人瀏覽過

上篇文章為大家介紹了《繼續學習-AJAX PHP(附源碼)》,本文繼續介紹新的內容給大家-PHP7,相信大家已經對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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板