PHP 7 中的統一變數語法
在舊版本的 PHP 中,我們面臨一個不一致的問題。例如:`${$first['name']}`。這種語法可能會造成混淆,或者可以說語法不一致。為了克服不一致的問題,PHP 7 添加了一種新的語法,稱為“統一變數語法”。
統一變數語法從左到右計算變數。我們需要新增花括號才能使用統一變數語法。例如,
echo ${$first[‘name’]};統一變數語法允許運算子的組合,並且它也可能在某些表示式中破壞向後相容性,在這些表示式中使用了舊的計算方法。
示例
<?php
$x = (function() {
return 20 - 10;
})
();
echo "$x
";
?>輸出
上述 PHP 程式的輸出將是
10
注意:上述程式將立即呼叫函式表示式。
統一變數語法使用現有語法的新的組合。例如,
$foo([‘bar’])();
統一變數語法可以取消引用函式返回的字串中的字元。
[$obj, $obj1] [0]->pro;
在某些情況下,PHP 7 支援巢狀雙冒號 (::),
$foo[‘bar’]::$baz;
巢狀方法/函式呼叫
我們可以使用巢狀方法和函式呼叫或任何可呼叫物件來加倍括號。
示例
foo()(); //return by a function callable $foo->bar()(); // return by an instance method Foo::bar()(); // static method $foo()(); // return by another callable
任意表達式取消引用
在 PHP 中,我們現在可以取消引用任何有效的表示式,包括帶括號的表示式。例如,
(exp) [‘foo’] ; // It will access an array key (exp)->foo; // This will access the property (exp)->foo(); // It will call to a method etc.
示例
<?php
function emp() {
echo "This is emp()
";
};
function dept() {
echo "This is dept()
";
return emp;
};
function sub() {
echo "This is sub()
";
return dept;
};
sub();
echo "----------------
";
sub()();
echo "----------------
";
sub()()();
?>輸出
上述程式的輸出將是:
This is sub() ------------- This is sub() This is dept() ------------- This is sub() This is dept() This is emp()
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP