php實現稀疏數組

場景一

php實現稀疏數組

場景二

報表的存儲場景(這裡暫不涉及表間取數和勾稽關係的計算)

php實現稀疏數組

php實現稀疏數組

定義

稀疏數組可以看做是普通數組的壓縮,這裡的普通數組特點是值無效數據量遠大於有效數據量的數組

形如:


php實現稀疏數組

稀疏數組形式:


php實現稀疏數組

為什麼要進行壓縮存儲呢

  • 原數組中存在大量的無效數據,佔據了大量的存儲空間,真正有用的數據卻少之又少.
  • 壓縮存儲可以節省存儲空間以避免資源的不必要的浪費,在數據序列化到磁盤時,壓縮存儲可以提高IO效率 .

備註:數據密集型結構不太適合這種解決方式


這裡採用文件存儲(當然最終的數據是要存到db裡的)


php實現稀疏數組


php實現稀疏數組


php實現稀疏數組


php實現稀疏數組


php實現稀疏數組


php實現稀疏數組


php實現稀疏數組


打印輸出:


php實現稀疏數組


我們來看下保存的文件大小.

php實現稀疏數組

我們在來對比文件內容:


php實現稀疏數組


php實現稀疏數組


分享到:


相關文章: