国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

在文件中保存PHP的數(shù)組哪種方法更好?
黃舟
黃舟 2017-04-10 13:12:41
0
9
849

對php來說將一些配置信息數(shù)組保存到文件中是司空見慣的情況,就我目前所知,有以下幾種保存方法

  1. 直接用var_export寫成return array(...);的php代碼,然后讀取的時候用require解析即可。
  2. 使用serialize函數(shù)序列化一個數(shù)組,然后讀取的時候用unserialize反序列化
  3. 使用json_encode序列化一個數(shù)組,然后讀取的時候用json_decode反序列化
  4. 使用其它的文件格式,比如yaml或者ini

有人比較過這幾種方法的優(yōu)劣嗎?哪種方法更好,或者說它們適用的場景有和不同?

黃舟
黃舟

人生最曼妙的風(fēng)景,竟是內(nèi)心的淡定與從容!

reply all(9)
洪濤

如果你的數(shù)組是只是給php項目用,使用第一種方法是最好的最方便的,我一直用它

如果你的數(shù)據(jù)可能不僅僅被php所用,那最好使用通用性更高的json格式了,當(dāng)然yaml,xml也行,但總歸不如json_encode方便

serialize我還真的很少在保存數(shù)組的時候用到

PS:不好意思剛才沒看到你是說在配置文件的使用。如果是配置文件的話,一定要注意你的php代碼會不會有可能被加密,如果有這種可能性最好是使用json或者yml或者ini等其他格式方便配置文件的修改

黃舟

我覺得第一種方式不是很好,這樣可能會造成執(zhí)行任意PHP代碼的漏洞。

推薦用JSON,可讀性好(和序列化相比);可讀可寫(php沒有內(nèi)置函數(shù)來寫ini);通用性好,其他語言也可以比較輕松地訪問。

大家講道理

一般來說,用 ini 是最好不過的了(人工可配),其次是serialize(系統(tǒng)自動生成)

劉奇

我一般都是用JSON,跨平臺,而且易閱讀。

黃舟

如果需要較大壓縮,可選用蘋果的binary plist格式,缺點是肉眼不可讀,需要引入CFPropertyList。

一般需求用json或xml就可以了。CFPropertyList也可以用來寫入或解析xml

迷茫

如果僅供PHP使用,我還是比較喜歡直接用PHP數(shù)組。

小葫蘆

serialize

必須是這個方式,因為很簡單,只需要序列化就可以了。相對于josn會更方便(如果你是在PHP項目中用的話,而無需其他非PHP項目下使用)推薦serialize。

洪濤

還是用json吧??勺x性強。體積小。解析速度快。跨語言。

XML雖然也擁有強大的可讀性。但是比起JSON來說,太過龐大,解析速度也是問題。
YAML可讀性一般,較復(fù)雜的內(nèi)容肉眼看起來那就是一堆天書了。但毋庸置疑文件體積將是最小的。

除var_export外。你需要考慮文件直接被瀏覽器打開的問題。

最終還是力薦JSON,json_encode($content,15) 。推薦使用第二個參數(shù)。json_decode($data,true)可輕易的將object轉(zhuǎn)換為array類型。方便操作。

Peter_Zhu

看需求.

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template