在 PHP 中从 JSON 数组中获取随机项

我无法使用以下 JSON 获取随机项目


$str = file_get_contents("wisdomquotes.txt"); 

$array = json_decode($str, true); //Fine up to here

$rand = $array[array_rand($array)];//Returns entire array instead of a single random item

这是 JSON:


{

    "quotes": [{

        "keywords": ["work"],

        "quote": " A stich in time saves nine"

    }, {

        "keywords": ["health"],

        "quote": " An apple a day keeps the doctor away."

    }, {

        "keywords": ["money"],

        "quote": " A penny save is a penny earned."

    }, {

        "keywords": ["work"],

        "quote": " You can't burn the candle at both ends."

    }, {

        "keywords": [""],

        "quote": "Tis better to light a candle than to curse the darkness"

    }]

}

获得随机物品的正确代码是什么?


慕森卡
浏览 155回答 3
3回答

神不在的星期二

这是因为您的情况下的主数组位于quotes子数组内。$rand = $array['quotes'][\array_rand($array['quotes'])];

慕妹3146593

你可以试试这个:$str = file_get_contents("wisdomquotes.txt"); $array = json_decode($str, true);$rand = array_rand($array['quotes'], 1);var_dump($array['quotes'][$rand]);

LEATH

您可能会瞄准$array['quotes']array_rand($array['quotes'], 1);
打开App,查看更多内容
随时随地看视频慕课网APP