<?php class a_test{ private $static_class; static function index(){ $data=range(0,100000); $begin=debug::set_flag(); //开启debug调试点 $odd=self::optimization($data,true); $end=debug::set_flag(); //结束debug调试点 out(debug::used($begin,$end),1,1); // [origin] // [0] => 0.101s // [1] => 20801.063kb // [2] => 91326.813kb // [optimization] // [0] => 0.086s // [1] => 20800.875kb // [2] => 132924.938kb } //原始算法 static function origin($data,$is_odd=false){ $result=null; for ($i=0; $i < count($data); ++$i) { if ($data[$i]%2 == 0) { if (!$is_odd) { $result[]=$data[$i]; } } else { if ($is_odd) { $result[]=$data[$i]; } } } return $result; } //优化算法 static function optimization($data,$is_odd=false){ $odd=$even=null; $num=count($data); for ($i=0; $i < $num; ++$i) { if ($data[$i]%2 == 0) { $even[]=$data[$i]; } else { $odd[]=$data[$i]; } } return $is_odd ? $odd : $even; } //最佳算法 static function best($data,$is_odd=false){ foreach ($data as $v) $optimize[$v%2][] = $v; return $optimize[$is_odd]; } }