最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP中3種生成XML文件方法的速度效率比較

 更新時(shí)間:2012年10月06日 12:46:35   作者:  
實(shí)測(cè)結(jié)果不出所料,直接寫(xiě)最快,耗時(shí)只有其他方式的1/3左右. 而其他2種方法差不多,相比之下SimpleXML要快一些
PHP中3種生成XML文件方法的速度比較
有3種方法,分別是直接寫(xiě);使用DomDocument;使用SimpleXML;
其實(shí)還有第4種:使用XMLWriter,不過(guò)我沒(méi)用過(guò),也懶得試了.
主要是想看看這3種方式哪個(gè)速度要快些
直接上代碼:

復(fù)制代碼 代碼如下:

private function directWriteXml(&$data){
  $xmltext='<?xml version="1.0" encoding="UTF-8" ?>';
  $xmltext .='<DocumentData>';
  $xmltext .='<Detail>';
  $loop=count($data);
  foreach ($data as $d){
   $xmltext .=" <Row ID=\" {$d['id']} \"  Name=\" {$d['name']}\" />";
  }
  $xmltext .='</Detail>';
  $xmltext .='</DocumentData>';
  return $xmltext;
 }
 private function useDomDocument(&$data){
  //  創(chuàng)建一個(gè)XML文檔并設(shè)置XML版本和編碼。。
  $dom=new DomDocument('1.0', 'utf-8');
  //  創(chuàng)建根節(jié)點(diǎn)
  $detail01 = $dom->createElement('Detail');
  $dom->appendchild($detail01);
  foreach ($data as $d) {
      $row = $dom->createElement('Row'," ID=\" {$d['id']} \"  Name=\" {$d['name']}\" " );
      $detail01->appendchild($row);
  }
  return $dom->saveXML();
 }
 private function useSimpleXML(&$data){
  //  創(chuàng)建一個(gè)XML文檔并設(shè)置XML版本和編碼。。
  $string = <<<XML
<?xml version='1.0' encoding='utf-8'?>
<detail01>
</detail01>
XML;
  $xml = simplexml_load_string($string);
  foreach ($data as $d) {
      $xml->addChild('Row'," ID=\" {$d['id']} \"  Name=\" {$d['name']}\" " );
  }
  return $xml->asXML(); ;
 }

調(diào)用時(shí)每個(gè)都加上大數(shù)循環(huán)操作,并記錄時(shí)間
復(fù)制代碼 代碼如下:

 $loop=10000;
  $xml='';
  switch($_GET['id']){
   case 1:
     $ts=$this->microtime_float();
     for( $i=0; $i<$loop; $i++)
      $xml=$this->directWriteXml($depdata);
     $te=$this->microtime_float();
     $t=$te-$ts;
     $this->assign('times',$t);
     $this->assign('method','直接寫(xiě)');
     break;
   case 2:
     $ts=$this->microtime_float();
     for( $i=0; $i<$loop; $i++)
      $xml=$this->useDomDocument($depdata);
     $te=$this->microtime_float();
     $t=$te-$ts;
     $this->assign('times',$t);
     $this->assign('method','DomDocument');
     break;
   case 3:
     $ts=$this->microtime_float();
     for( $i=0; $i<$loop; $i++)
      $xml=$this->useSimpleXML($depdata);
     $te=$this->microtime_float();
     $t=$te-$ts;
     $this->assign('times',$t);
     $this->assign('method','SimpleXML');
     break;
  }
  echo $xml;

實(shí)測(cè)結(jié)果不出所料,直接寫(xiě)最快,耗時(shí)只有其他方式的1/3左右. 而其他2種方法差不多,相比之下SimpleXML要快一些.

相關(guān)文章

  • 詳解PHP的Yii框架中的Controller控制器

    詳解PHP的Yii框架中的Controller控制器

    這篇文章主要介紹了PHP的Yii框架中的Controller控制器,Yii作為MVC框架,其控制器部分的使用自然是重中之重,需要的朋友可以參考下
    2016-03-03
  • 如何用PHP實(shí)現(xiàn)多線程編程

    如何用PHP實(shí)現(xiàn)多線程編程

    原以為 PHP 普遍都是單線程模型,并不適合多線程領(lǐng)域,發(fā)現(xiàn)PHP的多線程也頗有可取之處,用來(lái)解決某些問(wèn)題竟然非常適合。本文對(duì)比多進(jìn)程介紹了下多線程的優(yōu)勢(shì)和適用場(chǎng)景,提出了一種巧用方案,并使用PHP代碼實(shí)現(xiàn)了多線程的常見(jiàn)用法。
    2021-05-05
  • 推薦十款免費(fèi) WordPress 插件

    推薦十款免費(fèi) WordPress 插件

    本文給大家介紹的是今年必備的10款WordPress插件,非常的實(shí)用,包含WordPress SEO By Yoast,Akismet,W3 Total Cache,Disqus Comment System,Google Sitemap Generator,Jetpack,Limit Login Attempts,Contact Form 7,Yet Another Related Posts Plugin等
    2015-03-03
  • PHP移動(dòng)文件指針ftell()、fseek()、rewind()函數(shù)總結(jié)

    PHP移動(dòng)文件指針ftell()、fseek()、rewind()函數(shù)總結(jié)

    這篇文章主要介紹了PHP移動(dòng)文件指針ftell()、fseek()、rewind()函數(shù)總結(jié),本文先是對(duì)它們的作用做了講解,然后給出具體使用例子,需要的朋友可以參考下
    2014-11-11
  • PHP vsprintf()函數(shù)格式化字符串操作原理解析

    PHP vsprintf()函數(shù)格式化字符串操作原理解析

    這篇文章主要介紹了PHP vsprintf()函數(shù)格式化字符串操作原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 解析PHP觀察者模式Observer

    解析PHP觀察者模式Observer

    Observer,首先要有一個(gè)被觀察的角色,但它是【唯一的】。雖然"表演者"只有一個(gè)但是"觀眾"有很多,既一群"人"圍觀一個(gè)"人"。既然有無(wú)數(shù)個(gè)觀察者,那么我們需要知道都有哪一些"人"。所以我們需要一個(gè)“容器”來(lái)記錄這些"人",一個(gè)類似于數(shù)組一樣來(lái)儲(chǔ)存所有觀察者的容器。
    2021-05-05
  • php圖像處理類實(shí)例

    php圖像處理類實(shí)例

    這篇文章主要介紹了php圖像處理類,涉及php操作圖片的大小修改、加水印、生成驗(yàn)證碼、輸出及保存圖像的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • PHP中的生成XML文件的4種方法分享

    PHP中的生成XML文件的4種方法分享

    PHP中的生成XML文件的4種方法分享,需要的朋友可以參考下
    2012-10-10
  • Highcharts?圖表中圖例顯示狀態(tài)存儲(chǔ)的功能設(shè)計(jì)詳解

    Highcharts?圖表中圖例顯示狀態(tài)存儲(chǔ)的功能設(shè)計(jì)詳解

    這篇文章主要介紹了Highcharts?圖表中圖例顯示狀態(tài)存儲(chǔ)的功能設(shè)計(jì)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03

最新評(píng)論

仁化县| 中阳县| 普兰店市| 尤溪县| 略阳县| 深州市| 泊头市| 金山区| 大同县| 专栏| 来宾市| 资源县| 固阳县| 上思县| 邯郸县| 邵阳县| 南城县| 新和县| 于都县| 喜德县| 昌吉市| 同江市| 菏泽市| 新巴尔虎左旗| 秦皇岛市| 桓台县| 临沂市| 荥经县| 云浮市| 平远县| 大冶市| 锡林郭勒盟| 安义县| 溆浦县| 科技| 门头沟区| 沛县| 霍州市| 师宗县| 巴塘县| 分宜县|