从JSON父数组中获取随机数组的名称

时间:2014-02-15 15:51:39

标签: php arrays json

我有一些像这样的JSON:

{"100":{"id":100,"name":"example"},"200":{"id":200,"name":"example2"}}

我将其转换为数组:

[100] => Array
    (
        [id] => 100
        [name] => "example"
    )

[200] => Array
    (
        [id] => 200
        [name] => "example"
    )

我想返回一个随机[id] - 或一个随机数组名称,因为它们与ID相同。我怎么能这样做?

我试过了:

$src  = "http://domain.com/json.json";
$data = file_get_contents($src);
$obj  = json_decode($data, true);
$rand = array_rand($obj);
echo strval($obj[$rand]);

哪个输出:

Notice: Array to string conversion in C:/Users/Will/Documents/PHP/TestJson.php on line 7
Array

我希望它输出100或200。

1 个答案:

答案 0 :(得分:3)

$jsonArr = json_decode($str, TRUE);
$rand_array_key = array_rand($jsonArr);
echo $jsonArr[$rand_array_key]['id'];

Demo