最近Zend的PHP7已经 处于最后的BUG修复阶段,目前 已经更新RC7,对于Zend官方的说法PHP7的性能大约相比PHP5系列版本 提高2倍以上,增加了一些新的语法,摒弃了PHP5的一些影响性能的因素,主要增加了以下Features 。
<?php
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
define(‘ARRAY_SIZE‘,20000);
function QuickSort($arr,$low,$high)
{
if($low>$high)
return ;
$begin=$low;
$end=$high ;
$key=$arr[$begin];
while($begin<$end)
{
while($begin<$end&&$arr[$end]>=$key)
--$end ;
$arr[$begin]=$arr[$end];
while($begin<$end&&$arr[$begin]<=$key)
++$begin;
$arr[$end]=$arr[$begin];
}
$arr[$begin]=$key;
QuickSort($arr,$low,$begin-1);
QuickSort($arr,$begin+1,$high);
}
$time_start = microtime_float();
$arr=array();
for($i=0;$i<ARRAY_SIZE;$i++)
{
array_push($arr,rand(1,20000));
}
QuickSort($arr,0,ARRAY_SIZE-1);
$time_end = microtime_float();
echo "Bengin:$time_start".‘s ‘;
echo "End:$time_end".‘s ‘;
echo "TakeTime: ".($time_end-$time_start).‘s ‘;
?>PHP7新增四个标量类型 int, float, string bool, 首先要使用强类型 必须在文件中加入指令declare(strict_types=1)该指令必须是第一个指令而且只有一种用法 <?php
declare(strict_types=1);
function GetInt():int{
return 1.0;
}
echo GetInt();
?><?php
declare(strict_types=1);
function GetInt():int{
return 1;
}
echo GetInt();
?><?php
declare(strict_types=1);
function add(int $a,int $b):int{
return $a+$b;
}
echo add(1,2);
?><?php
declare(strict_types=1);
function add(int $a,int $b):int{
return $a+$b;
}
var_dump(add(1,2));
?>var_dump的结果是 int(3)<?php
declare(strict_types=1);
function foobar(float $abc): int {
return ceil($abc + 1);
}
try{
foobar(1.22);
}catch(Exception $ex){
echo $ex->getMessage();
}
?><?php
declare(strict_types=1);
class Foo {public function M1(){echo ‘hello,world!‘;}}
$child = new class extends Foo { public function M2(){echo ‘hello,world!‘;return $this;}};
$child->M2()->M1();
?><?php
declare(strict_types=1);
var_dump(new class(5) {
public function __construct($i) {
$this->i = $i;
}
});
?>PHP7 RC7 Release对比PHP5.6快速排序20000数据性能体验以及新语法尝鲜
原文:http://blog.csdn.net/yue7603835/article/details/49981923