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

php筆記之:有規(guī)律大文件的讀取與寫入的分析

 更新時間:2013年04月26日 16:31:52   作者:  
本篇文章介紹了,php有規(guī)律大文件的讀取與寫入的分析。需要的朋友參考下

這幾天在做一個東西.研究PHP讀取行數(shù)較多的文件(大概上百萬行).考慮到效率問題.進(jìn)行了簡單的研究.總結(jié)如下

第一條.file()函數(shù)的效率問題.

file()函數(shù)的效率很底下 如果是有規(guī)律的文件.比如每行一條相應(yīng)數(shù)據(jù).那么盡量不要是用file()函數(shù)

可以使用file_get_contents()然后用explode切割.這樣效率會快三分之一

舉個例子:

文件樣式如下:

11111\n

22222\n

33333\n

44444\n

55555\n

.....\n

nnnnnnnnnnn\n

如果用file($file)讀入的話.耗時很長.

可以用如下方法explode("\n",file_get_contents($file));效率會快很多.

第二條,數(shù)組的遍歷方式.

數(shù)據(jù)已經(jīng)被讀入數(shù)組了.下面就是遍歷了.

我所需要的是確定數(shù)組中有無一個值的存在,比如說44444是否在數(shù)組中.首先想到的是in_array()

不過實驗了下發(fā)現(xiàn)效率很低下.于是參考別人的代碼想到一個辦法.把數(shù)組翻轉(zhuǎn)過來.變成所有值都為1.原來的值變成了索引.那么只要我在if里寫($arr[索引]==1)去判斷.果然效率高出很多.

在數(shù)組的遍歷過程中.如果數(shù)組個頭非常大,并且數(shù)組中的數(shù)據(jù)并不是全能用到的話,最好把用來遍歷的數(shù)組抽出來.這樣會提高很多效率.

第三條,數(shù)組的存儲.

把計算過后的數(shù)據(jù)保存起來.存在一個文件中.考慮了三種方法.一種是直接寫成php文件.一種是serialize,一種是json串.

第一種方式

直接寫入文件<?php 連接var_export($var)連接";"連接?>保存成PHP

需要的時候直接require進(jìn)來.

第二種方式.把變量serialize然后file_put_contents()進(jìn)入文件.使用的時候unserialize就ok.

第三種方式和第二種類似.只不過寫成了json串.

經(jīng)過測試.發(fā)現(xiàn)第二種效率最高.第三種其次.和第二種效率不相上下.第一種最慢.和我預(yù)想的差距很大.真是大跌眼鏡.

相關(guān)文章

最新評論

行唐县| 化隆| 陕西省| 开原市| 浪卡子县| 乌兰察布市| 巴楚县| 资讯 | 泰兴市| 无极县| 拉萨市| 金堂县| 建平县| 涪陵区| 淮安市| 皮山县| 屯门区| 旺苍县| 丰台区| 玉环县| 南靖县| 来凤县| 康平县| 寿阳县| 静乐县| 霍山县| 凤城市| 锡林浩特市| 高安市| 泗洪县| 商洛市| 仁布县| 琼中| 门头沟区| 尚义县| 鹤庆县| 荆门市| 正蓝旗| 安仁县| 海城市| 沙坪坝区|