-3

我有这个代码:

function returnArray() { 
    $intData = array("1", "3"); 
    return $intData[array_rand($intData)]; 
}

我正在尝试制作类似于上述功能的功能。

我没有用逗号添加整数,而是尝试用整数内爆逗号。

有点像上面的动态版本,使用json_decode, file_get_contents, a foreachloop, array, array_rand&return

这是我的代码:

function Something() {
  foreach (json_decode(file_get_contents('removed'), true) as $jsonArr) {
    $arrData = array(implode(",", $jsonArr));
    $roundData = $arrData[array_rand($arrData)];
    return $roundData;
  }
}

我只是想知道我是否做对了,数组是否正确。

它也不会从array.

当我尝试内爆时,它会引发错误

内爆无效参数

4

1 回答 1

2

您似乎正在尝试room_id从 JSON 响应中随机打印。

问题出在这里:

$intData = array(implode(",", $arrRoomsReverse['room_id']));

你不能像这样初始化一个数组。

只需将room_id元素推送到数组中,如下所示:

$intData[] = $arrRoomsReverse['room_id'];

room_id现在,您可以简单地在循环外获得一个随机数:

$intRoom = $intData[array_rand($intData)];

该函数如下所示:

function returnArray() 
{
    $str = file_get_contents('...');
    $jsonArr = json_decode($str, true);
    foreach ($jsonArr as $arrRoomsReverse) 
    {
        $intData[] = $arrRoomsReverse['room_id'];
    }
    $intRoom = $intData[array_rand($intData)];
    return $intRoom;
}

并调用该函数:

echo returnArray();
于 2013-10-06T19:43:51.767 回答