- Generators: has been added via the yield keyword.
Generators provide an easy way to implement simple iterators.
For Example:
function xrange($start, $limit, $step = 1) {
for ($i = $start; $i <= $limit; $i += $step) {
yield $i;
}
}
echo 'List of odd Numbers:';
foreach (xrange(1, 9, 2) as $number) {
echo "$number ";
}
- finally: keyword added in try catch.
In try catch, finally block will be called every time, regardless of whether an exception has been thrown or not.
For Example:
try {
//write code here
}
catch (Exception $e) {
//Exception comes here
}
finally {
echo "I am called everytime";
}
- New password hashing API
Password hashing API that makes it easier to securely hash and manage passwords using the same crypt() in PHP has been added.
- foreach now supports list()
Now in PHP5.5, You can use list function inside foreach function.
See Example
$listArray = [
[10, 20],
[30, 40],
[50, 60],
];
foreach($listArray as list($a, $b)) {
echo "A: $a; B: $b";
}
- empty() supports expressions
Now you can use expression in empty function.
For Example:
if(!empty(2*3)){
echo "Its working";
}
- Array and String literal dereferencing.
String and Array can now be dereferenced directly to access individual elements OR characters.
For Example
echo 'Array dereferencing: ';
echo [10, 02, 30][0];//10
echo "\n";
echo 'String dereferencing: ';
echo 'Web Technology'[0]; //W
- Class name resolution via ::class
ClassName::class to get a fully qualified name of class ClassName.
For Example
namespace Foo;
class Bar {}
echo Bar::class;
-
OPcache extension added
The Zend Optimiser+ opcode cache has been added to PHP5.5 as the new OPcache extension.
-
foreach now supports non-scalar keys.
For non-scalar keys, an Iterator must be used as they cannot occur in native PHP array.
- Apache 2.4 handler supported on Windows
- Improvements to GD Library.