php:array()和{}之间的区别

时间:2013-04-05 19:00:04

标签: php arrays data-structures

之间有什么不同
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

2 个答案:

答案 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 );