天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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ù)想的差距很大.真是大跌眼鏡.

php技術(shù)php筆記之:有規(guī)律大文件的讀取與寫入的分析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产传媒18精品免费1区 | 伊人热人久久中文字幕 | 特级毛片s级全部免费 | 再插深点嗯好大好爽 | 中文字幕成人 | 国产精品高清在线观看地址 | 久久精品国产亚洲AV热无遮挡 | 一点色成人 | 动漫美女被爆挤奶歪歪漫画 | 久久精品电影院 | 国产无遮挡无码视频在线观看不卡 | 免费观看成人毛片 | 天天操天天干天天爽 | 3D动漫网站HOXXXxes| 国产av免费观看日本 | 国产精品成人啪精品视频免费观看 | 国产精品嫩草影院一区二区三区 | 胸太大被男同桌吃好爽 | 男女亲吻摸下面吃奶视频 | 琪琪热热色原日韩在线 | WWWXXXX兽交| 国产高潮久久精品AV无码 | 国产精品久久久久婷婷五月色婷婷 | 精品午夜视频 | 四虎永久在线精品免费A | 女人爽得直叫免费视频 | 久久r视频 | 最近日本字幕免费高清 | 亚洲色综合狠狠综合区 | 狠日狠干日曰射 | 久久精品国产久精国产果冻传媒 | 国产成人无码精品久久久影院 | 99久在线国内在线播放免费观看 | 大地影院在线播放 | 日韩专区亚洲国产精品 | 风月宝鉴之淫乱英雄传 电影 | 母狗黄淑珍| 小SAO货边洗澡边CAO你动漫 | 久久视频精品38线视频在线观看 | 免费果冻传媒2021在线看 | 大香伊人久久精品一区二区 |