php7的寫法要求更加嚴謹
直接看代碼
<?php
class test {
public static function test1($name, $name1)
{
echo $name . "-" . $name1;
}
}
$testArr = array("test" , "test1");
$test = new test();
$test->$testArr[1]("bill", "test"); // 這行代碼有問題
這段代碼在php5下面運作的結果是 bill-test.沒啥問題
但是在php7下面會報錯
在php7下面有幾種改進。(本身以上寫法就有問題,但是調試起來不容易發現)
應該改為:
$test->{$testArr[1]}("bill", "test");
或者更加規範的寫法:
call_user_func_array(array($test, $testArr[1]), array("bill", "test"));