php是否有比较成熟的json操作类?

是否有比较成熟的json操作类,实现对json数据的CRUD。

阅读 2.9k
2 个回答

PHP自带JSON编解码函数:json_decode/json_encode.

对JSON解码后得到PHP数组,对PHP数组进行你所谓的CRUD操作,就非常方便了.

比如:

在数组开头插入和删除元素用:array_unshift/array_shift
在数组末尾插入和删除元素用:array_push/array_pop
在数组中间插入和删除元素用:array_splice

排序用sort系列函数:
sort()    由低到高 对值排序 不保持键值关联
rsort()   由高到低 对值排序 不保持键值关联
asort()   由低到高 对值排序 保持键值关联
arsort()  由高到低 对值排序 保持键值关联
ksort()   由低到高 对键排序 保持键值关联
krsort()  由高到低 对键排序 保持键值关联
natsort() 自然排序 对值排序 保持键值关联 (uasort+strnatcmp可取代之)
natcasesort() 自然排序(不区分大小写) 对值排序 保持键值关联 (uasort+strnatcasecmp可取代之)
shuffle() 随机排序 对值排序 不保持键值关联
array_multisort() 按第一个数组或者由选项指定排序 对值排序 键值关联的保持&数字类型的不保持
usort()   用户定义 对值排序 不保持键值关联
uasort()  用户定义 对值排序 保持键值关联
uksort()  用户定义 对键排序 保持键值关联
其中:
r 表示 reverse order (倒序) 相关函数: $arr = array_reverse($arr, true);
a 表示 associative array (关联数组)
u 表示 user-defined (用户定义)
k 表示 key (键)
nat 表示 natural sort (自然排序)
case 表示 case insensitive (大小写不敏感)
大写: upper case
小写: lower case
shuffle 表示 洗牌

PHP数组判断值/键是否存在,根据value查找key,都行:
in_array('value', $arr, true)       //找到返回true,否则返回false.
array_search('value', $arr, true)   //找到返回第一个匹配的键,否则返回false
array_keys($arr, 'value', true)     //返回由找到的键组成的数组,找不到则为空数组
array_key_exists('key', $arr)       //找到返回true,否则返回false,等价于 isset($arr['key']) 但isset性能更好
说明: 第三个参数 strict 的值为 true 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同.
look for a needle(针) in a haystack(干草堆): 大海捞针

最后,几乎所有数组操作,PHP中都可以用foreach完成.

PHP自带JSON扩展,JSON转数组操作完事转回数组

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题