1. Penamaan parameter pendua tidak lagi disokong.
Penamaan parameter pendua tidak lagi disokong. Sebagai contoh, kod berikut akan melaporkan ralat apabila dilaksanakan:
public function foo($a, $b, $unused, $unused) {
// ...
}Nota editor: Tiada siapa yang harus menggunakannya seperti ini. 2 Pelarasan kepada kaedah func_get_arg dan func_get_args()
func_get_arg() dan func_get_args() mengembalikan nilai semasa parameter, bukan nilai apabila dihantar masuk. Nilai semasa boleh diubah suai
function foo($x)
{
$x++;
var_dump(func_get_arg(0));
}
foo(1); Kod di atas akan mencetak 2 bukannya 1. Jika anda ingin mencetak nilai asal, laraskan sahaja susunan panggilan. 3 Apabila mencetak maklumat jejak balik pengecualian, nilai yang diubah suai juga dipaparkan.
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} Pelarasan ini tidak akan menjejaskan kelakuan kod, tetapi anda perlu memberi perhatian kepada perubahan ini semasa menyahpepijat. Fungsi lain yang berkaitan dengan parameter tertakluk kepada pelarasan yang sama, seperti debug_backtrace().












![Bermula dengan Pembangunan Praktikal PHP: Penciptaan PHP Pantas [Forum Perniagaan Kecil]](https://img.php.cn/upload/course/000/000/035/5d27fb58823dc974.jpg)









