【发布时间】:2014-06-18 17:48:26
【问题描述】:
请注意,我已在此站点上阅读过类似的问题,但没有一个对我有用,这似乎至少对现在/对我来说是独一无二的。
我有以下数组;
[{"advert_id":"advert1"},{"advert_id":"advert2"},{"advert_id":"advert3"},{"advert_id":"advert4"},{"advert_id":"advert5"},{"advert_id":"advert6"},{"advert_id":"advert7"}]
当我使用 Laravel $adverts = Advert::select('advert_id')->get(); 从数据库中获取信息时,我实际上得到了数据
如何从中随机选择一个元素?
我尝试使用array_rand($adverts),但出现错误(array_rand() 期望参数 1 是数组,给定对象)
【问题讨论】:
-
json_decode($json, true); -
这不是 PHP 数组,您使用的是 JSON 表示法。您给出的错误表明您在某个时候将其转换为对象。您可能为此使用了
json_decode。正如 Darren 指出的,您应该将第二个参数设置为true。 -
或者,您可以尝试
$adverts = get_object_vars($adverts),将对象转换为数组。 -
好的,让我试试
-
哇,很多人反对,但我不介意
json_decode($json, true);为我工作。感谢@Darren 的回答和@Jorn 的解释