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