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

PHP SPL標準庫之SplFixedArray使用實例

 更新時間:2015年05月12日 09:48:55   投稿:junjie  
這篇文章主要介紹了PHP SPL標準庫之SplFixedArray使用實例,SplFixedArray主要是處理數組相關的主要功能,它是固定長度的,比普通的數組處理更快,需要的朋友可以參考下

SplFixedArray主要是處理數組相關的主要功能,與普通php array不同的是,它是固定長度的,且以數字為鍵名的數組,優(yōu)勢就是比普通的數組處理更快。

看看我本機的Benchmark測試:

ini_set('memory_limit','12800M');
 
for($size = 10000; $size < 10000000; $size *= 4) {
  echo PHP_EOL . "Testing size: $size" . PHP_EOL;
  for($s = microtime(true), $container = Array(), $i = 0; $i < $size; $i++) $container[$i] = NULL;
  echo "Array(): " . (microtime(true) - $s) . PHP_EOL;
 
  for($s = microtime(true), $container = new SplFixedArray($size), $i = 0; $i < $size; $i++) $container[$i] = NULL;
  echo "SplArray(): " . (microtime(true) - $s) . PHP_EOL;
}

結果如下:

Testing size: 10000
Array(): 0.004000186920166
SplArray(): 0.0019998550415039
 
Testing size: 40000
Array(): 0.017001152038574
SplArray(): 0.0090007781982422
 
Testing size: 160000
Array(): 0.050002098083496
SplArray(): 0.046003103256226
 
Testing size: 640000
Array(): 0.19701099395752
SplArray(): 0.16700983047485
 
Testing size: 2560000
Array(): 0.75704312324524
SplArray(): 0.67303895950317

通常情況下SplFixedArray要比php array快上20%~30%,所以如果你是處理巨大數量的固定長度數組,還是強烈建議使用。
SplFixedArray類摘要如下:

SplFixedArray implements Iterator  , ArrayAccess  , Countable  {
  /* 方法 */
  public __construct ([ int $size = 0 ] )
  public int count ( void )
  public mixed current ( void )
  public static SplFixedArray fromArray ( array $array [, bool $save_indexes = true ] )
  public int getSize ( void )
  public int key ( void )
  public void next ( void )
  public bool offsetExists ( int $index )
  public mixed offsetGet ( int $index )
  public void offsetSet ( int $index , mixed $newval )
  public void offsetUnset ( int $index )
  public void rewind ( void )
  public int setSize ( int $size )
  public array toArray ( void )
  public bool valid ( void )
  public void __wakeup ( void )
}

 使用SplFixedArray:

$arr = new SplFixedArray(4);
$arr[0] = 'php';
$arr[1] = 1;
$arr[3] = 'python';
 
//遍歷, $arr[2] 為null
foreach($arr as $v) {
  echo $v . PHP_EOL;
}
 
//獲取數組長度
echo $arr->getSize(); //4
 
//增加數組長度
$arr->setSize(5);
$arr[4] = 'new one';
 
//捕獲異常
try{
  echo $arr[10];
} catch (RuntimeException $e) {
  echo $e->getMessage();
} 

相關文章

  • php頭像上傳預覽實例代碼

    php頭像上傳預覽實例代碼

    本篇文章主要介紹了php頭像上傳預覽實例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • laravel 5 實現模板主題功能(續(xù))

    laravel 5 實現模板主題功能(續(xù))

    前面一篇文章,我們簡單討論了laravel模板主題功能,本文我們繼續(xù)探討laravel模板主題功能的實現,本次實現比較重,有興趣慢慢看吧。
    2015-03-03
  • 阿里云PHP SMS短信服務驗證碼發(fā)送方法

    阿里云PHP SMS短信服務驗證碼發(fā)送方法

    這篇文章主要介紹了阿里云PHP SMS短信服務驗證碼發(fā)送方法,需要的朋友可以參考下
    2017-07-07
  • php+jQuery+Ajax簡單實現頁面異步刷新

    php+jQuery+Ajax簡單實現頁面異步刷新

    這篇文章主要為大家詳細介紹了php+jQuery+Ajax簡單實現頁面異步刷新,,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • laravel5表單唯一驗證的實例代碼

    laravel5表單唯一驗證的實例代碼

    今天小編就為大家分享一篇laravel5表單唯一驗證的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 在Laravel 中實現是否關注的示例

    在Laravel 中實現是否關注的示例

    今天小編就為大家分享一篇在Laravel 中實現是否關注的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • laravel中的錯誤與日志用法詳解

    laravel中的錯誤與日志用法詳解

    這篇文章主要介紹了laravel中的錯誤與日志用法,結合實例形式詳細分析了laravel中錯誤與日志的相關設置與使用技巧,需要的朋友可以參考下
    2016-07-07
  • 淺析php適配器模式(Adapter)

    淺析php適配器模式(Adapter)

    本文講解的是php設計模式的結構性模式的概念以及機構性模式的七種類中的適配器模式,需要的朋友可以參考下
    2014-11-11
  • smarty自定義函數htmlcheckboxes用法實例

    smarty自定義函數htmlcheckboxes用法實例

    這篇文章主要介紹了smarty自定義函數htmlcheckboxes用法,實例分析了smarty模板與函數的使用技巧,需要的朋友可以參考下
    2015-01-01
  • Laravel異常上下文解決方案分享

    Laravel異常上下文解決方案分享

    異常處理是編程中十分重要但也最容易被人忽視的語言特性,下面這篇文章主要給大家介紹了關于Laravel異常上下文解決方案的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01

最新評論

宁晋县| 望奎县| 建水县| 南丹县| 睢宁县| 仁布县| 常山县| 淄博市| 得荣县| 红河县| 璧山县| 蓬溪县| 昌图县| 阜南县| 石景山区| 琼结县| 中山市| 珠海市| 寿光市| 普陀区| 都兰县| 旬阳县| 太仆寺旗| 镇宁| 长海县| 罗定市| 盐城市| 平乐县| 和平区| 扶绥县| 克拉玛依市| 讷河市| 永泰县| 茌平县| 浦北县| 都兰县| 顺义区| 洛扎县| 叙永县| 灵山县| 浠水县|