将数组转换成字符串存储有没有更好的方法或函数(字符串长度越小越好)?

WBOY
풀어 주다: 2016-06-06 20:11:34
원래의
954명이 탐색했습니다.

因为要将数组信息保存到数据库中,我试过用serializejson_encodeserializejson_encode转换来得字符串长度要少1/3,但是想请教PHP中还有没有别的函数方法可以转换出来更少长度的字符串

回复内容:

因为要将数组信息保存到数据库中,我试过用serializejson_encodeserializejson_encode转换来得字符串长度要少1/3,但是想请教PHP中还有没有别的函数方法可以转换出来更少长度的字符串

没必要吧,json_encode其实已经很好了,尤其是考虑数据可能被前端直接调用的时候。如果你的数据库空间不足可以买块硬盘,这是最好的建议。
你压缩的越厉害就需要更大的运算量,解压的时候也就更麻烦,节约空间丧失性能根本就划不来。

你可以自己搜索一下字符串压缩算法,比如 http://www.jb51.net/article/46144.htm

一般来说,除非特殊需求,正常情况下CPU时间比磁盘空间贵得多,所以无需为了磁盘空间而去浪费CPU时间。
压缩、解压缩字符串都很耗时,并不值得。

主要是看需求,你的字符串压缩之后用于实现什么内容,如果是和其他部分沟通的话,那么用json是比较好的实现方法。如果是用来储存,那么就另算了。

implode(separator,array)

MessagePack 是一个高效的二进制序列化格式。它让你像JSON一样可以在各种语言之间交换数据。但是它比JSON更快、更小

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿