一、重復(fù)參數(shù)命名不再支持。
重復(fù)的參數(shù)命名不再支持。比如下面的代碼執(zhí)行的時候會報(bào)錯:
public function foo($a, $b, $unused, $unused) { // ... }編者按:應(yīng)該沒有人這樣用吧。
二、func_get_arg和func_get_args()調(diào)整
func_get_arg()和func_get_args()這兩個方法返回參數(shù)當(dāng)前的值,而不是傳入時的值。當(dāng)前的值有可能會被修改
function foo($x) { $x++; var_dump(func_get_arg(0)); } foo(1);上面的代碼會打印2, 而不是1。如果想打印原始的值,調(diào)用的順序調(diào)整下即可。
三、同樣在打印異常回溯信息的時候也是顯示修改后的值。
function foo($x) { $x = 42; throw new Exception; } foo("string"); PHP7的運(yùn)行結(jié)果:Stack trace: #0 file.php(4): foo(42) #1 {main} PHP5的運(yùn)行結(jié)果:Stack trace: #0 file.php(4): foo('string') #1 {main}這個調(diào)整不會影響代碼的行為,不過在調(diào)試的時候需要注意這個變化。
其他和參數(shù)有關(guān)的函數(shù)都是同樣的調(diào)整,比如debug_backtrace() .