一、重復(fù)參數(shù)命名不再支持。
重復(fù)的參數(shù)命名不再支持。比如下面的代碼執(zhí)行的時(shí)候會(huì)報(bào)錯(cuò):
public function foo($a, $b, $unused, $unused) { // ... }編者按:應(yīng)該沒(méi)有人這樣用吧。
二、func_get_arg和func_get_args()調(diào)整
func_get_arg()和func_get_args()這兩個(gè)方法返回參數(shù)當(dāng)前的值,而不是傳入時(shí)的值。當(dāng)前的值有可能會(huì)被修改
function foo($x) { $x++; var_dump(func_get_arg(0)); } foo(1);上面的代碼會(huì)打印2, 而不是1。如果想打印原始的值,調(diào)用的順序調(diào)整下即可。
三、同樣在打印異?;厮菪畔⒌臅r(shí)候也是顯示修改后的值。
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}這個(gè)調(diào)整不會(huì)影響代碼的行為,不過(guò)在調(diào)試的時(shí)候需要注意這個(gè)變化。
其他和參數(shù)有關(guān)的函數(shù)都是同樣的調(diào)整,比如debug_backtrace() .