php 数组转对象方法

<?php
class PerformanceTest
{
    private $time;
    private $memory;

    public function begin()
    {
        $this->time = $this->getTime();
        $this->memory = $this->getMemory();
    }

    public function end()
    {

        $this->time   = $this->getTime()   - $this->time;
        $this->time   = round($this->time,7);//在这里才能格式化时间
        $this->memory = $this->getMemory() - $this->memory;
        $this->memory = $this->convert($this->memory);
        echo "time:{$this->time}秒<br />";
        echo "memory:{$this->memory}<br />";
    }

     
    public function getTime() 
    {  
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
    }

    public function getMemory()
    {
        return memory_get_usage();
    }

    public function convert($size)
    { 
        $unit=array('b','kb','mb','gb','tb','pb'); 
        return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i]; 
    } 

}
$bb = [];
for($i=0;$i<50000;$i++)
{
    $bb[] = (object)[
        1,2,3
    ];
}
$a = new PerformanceTest();
$a->begin();
foreach($bb as $k=>$v)
{
    $bb[$k] = (array)$v;
}
$a->end();
$a->begin();
json_decode(json_encode($bb),true);
$a->end();

 

foreach 耗时 比 json 少得多

time:0.0150001秒
memory:NAN b
time:0.0379999秒
memory:NAN b

 

posted on 2017-04-21 11:06  小乔流水人家  阅读(175)  评论(0)    收藏  举报

导航