之间有什么不同
Array
(
[user_id] => 1
[username] => user
[first_name] => hello
[last_name] => world
)
和
{
user_id: "1",
username:"user",
first_name:"hello",
last_name:"world"
}
?以及如何在php中转换它们?
修改:添加详细信息
实际上我正在使用redis zunionstore和zrevrange来组合用户数据。结果返回了类似的内容:
Array
(
[0] =>{"user_id":"1","username":"user","first_name:hello","last_name:world"}
[1] => ...
)
由于我必须处理数据,我想要这样的东西:
Array
(
[0] => Array
(
[user_id] => 1
[username] => user
[first_name] => hello
[last_name] => world
)
...
)
那么有没有简单的方法来转换它而不是使用for循环到json_decode每个元素? THX
答案 0 :(得分:4)
第一个字符串是print_r
函数的输出。例如:
$array=array('key'=>'value');
print_r($array);
输出:
Array
(
[key] => value
)
你的第二个类似于JSON,但它没有双键的引号 您无法直接转换它们。
如果您的第二个字符串是这样的话,您可以将JSON转换为带有json_decode
的PHP数组:
{
"user_id": "1",
"username":"user"
...
}
答案 1 :(得分:2)
第一个,如上所述是PHP,第二个是JavaScript数组。
要将数组转换为JSON,请使用json_encode()
;
将JavaScript数组转换为JSON文本,然后转换为PHP数组(关联);使用JSON.stringify()
和json_decode()
。
对于您的任务,最好的选择是array_walk
功能:
array_walk( "json_decode", $MyArry );