这个While或Loop有什么问题?

时间:2018-02-10 14:26:51

标签: php json

我正在尝试从Api获得一个用户(带有随机用户编号)列表。

我正在尝试: 如果“代码”(在Json中)是404,则重复函数直到不返回该代码。

function getUser() {
$n1 = 1;
$n2 = 20000;
$api = json_decode(file_get_contents('http://example.com/api/user/'.rand($n1, $n2)), true);
$row = $api['code'];
while($row == '404') $api = json_decode(file_get_contents('http://example.com/api/user/'.rand($n1, $n2)), true);

return $api;
}

谢谢。

2 个答案:

答案 0 :(得分:2)

您必须再次设置$row

目前,您一直在测试初始API调用的$row,而不是最新的API调用。

$row = $api['code'];
while( $row == '404' ) {
   $api = json_decode(file_get_contents('http://example.com/api/user/'.rand($n1, $n2)), true);
   $row = $api['code']; /* Assign the new value for $row  */
} 

答案 1 :(得分:1)

每个循环步骤应设置$row变量。

$row = $api['code'];
while( $row == '404' ) {
   $api = json_decode(file_get_contents('http://example.com/api/user/'.rand($n1, $n2)), true);
   $row = $api['code'];//again set $row
}