方法一:使用json_encode()函数
json_encode()函数是php中将数组转换成json的主要函数。默认情况下,该函数会将数组中的key丢失,只保留value。但是,我们可以使用json_force_object选项来强制将数组转换成object并保留key。
示例代码:
//一个简单的关联数组$arr = array( name => john, age => 30, city => new york); //将数组转换成json并强制转换成object$json = json_encode($arr, json_force_object); //输出json字符串echo $json;
运行结果:
{name:john,age:30,city:new york}
可以看到,转换后的json字符串保留了数组中的key。
方法二:使用json_decode()函数
除了json_encode()函数,我们还可以使用json_decode()函数将json字符串转换回php数组,并保留原有的key。需要注意的是,json_decode()函数默认将json字符串转换成php对象,因此需要将第二个参数设置成true以将其转换成关联数组。
示例代码:
//一个json字符串$json = '{name:john,age:30,city:new york}'; //将json字符串转换成数组并保留key$arr = json_decode($json, true); //输出数组print_r($arr);
运行结果:
array( [name] => john [age] => 30 [city] => new york)
总结:
本文介绍了两种方法来实现php数组转换成json并保留key。使用json_encode()函数将数组转换成object并保留key是较为简单的方法,而使用json_decode()函数将json字符串转回php数组并保留key可以更好地满足一些需要先转换成json再转回php数组的场景。无论哪种方法,都可以轻松地完成php数组转换成json并保留key的操作,为开发人员提供了无限便利。
以上就是php怎么将数组转成json并保留key的详细内容。
