The difference between PHP5.4 and 5.6 is: 1. Version 5.6 allows the use of previously defined constants for calculation when defining variables, and allows constants to be used as default values of function parameters, while version 5.4 does not allow this; 2. The 5.6 version namespace supports constants and functions, but the 5.4 version does not.
The operating environment of this article: Windows 10 system, PHP5.6&&PHP5.4 version, Dell G3 computer
PHP5.4: Short Open Tag, array abbreviation, Traits, built-in Web server, detailed modifications
PHP5.6: Constant enhancement, variable function parameters, namespace enhancement
Introduction to the differences between PHP5.6 version:
Better constants
When defining constants, previously defined constants are allowed to be used for calculations:
const A = 2; const B = A + 1; class C { const STR = "hello"; const STR2 = self::STR + ", world"; }
Allow constants as function parameter default values:
function func($arg = C::STR2)
Better variable function parameters
Used instead of func_get_args()
function add(...$args) { $result = 0; foreach($args as $arg) $result += $arg; return $result; }
At the same time, when calling a function, the array can be expanded into function parameters:
$arr = [2, 3]; add(1, ...$arr); // 结果为 6
Namespace
Namespace supports constants and functions:
namespace Name\Space { const FOO = 42; function f() { echo __FUNCTION__."\n"; } } namespace { use const Name\Space\FOO; use function Name\Space\f; echo FOO."\n"; f(); }
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What is the difference between php5.4 and 5.6. For more information, please follow other related articles on the PHP Chinese website!