『壹』 php的幾種常用的數據交換格式
序列化(serialize)、變數、xml、json是PHP常見的4種文本數據交換形式。
一、序列化與反序列化
使用serialize與unserialize將可以將任何數據類型(除了資源),格式成文本數據格式,是php內置的,使用最方便,可以原汁原味將數據、對象等保存與恢復再用。
好處:使用方便,支持好。
不好:沒有通用性只有php能夠支持,文本化體積大。
可能:速度可能會慢。
二、變數
將數據寫成標準的PHP賦值語句存放在文本文件中,在程序執行過程中包含進來,通過執行賦值的操作來恢復變數。discuz經常使用這種方式做為數據的緩存。
好處:直觀。
不好:沒有通用性只有php能夠支持;使用不方便,需要自己將數據轉化成賦值語句;變數的接收方式也不夠靈活。
可能:速度會快些,與序列化相比存儲體積小。
三、xml
將數據格式化成xml存儲與解析。
好處:通用性強,可以與其它程序語言的數據交換;php已經有內置的函數支持。
不好:文本化的體積大;格式化與反解效率低。
四、json
也是類似於xml的一種文本型數據交換格式。是一種為解決xml瀏覽器數據交換復雜而出現一種新的數據格式。
好處:通用性強,目前主流的語言已經內置支持了,5.2(具體請查手冊)版本已經內置支持。php5以後使用很方便,使用方便與序列化類似。與xml相比有更好的兼容性、效率高,尤其是對於瀏覽器。而數據格式體積很小。
可能:效率問題,尤其是解析的效率問題。