gpt4 book ai didi

PHP 迭代多维数组 - 每 x 秒查询一次 Web 服务

转载 作者:行者123 更新时间:2023-12-04 05:24:41 25 4
gpt4 key购买 nike

我有一个包含用户信息的数组和一个网站上的 Web 服务,我可以查询用户的状态(在线/离线)。我想要做的是每 x 秒查询站点以获取每个用户的状态。

大约有 10 个用户,belwois 是该数组的一个示例。我可以更改需要的数组。我唯一需要手动输入的是用户名和全名。我可以从服务器调用的“状态”。

$users = array
(
"username"=>array("Fullname","Status"),
"johndoe"=>array("John Doe","Online"),
"janedoe"=>array("Jane Doe","Offline")
);

这是我可以用来查询站点的 url 示例(查询仅返回用户状态(在线或离线):
http://thesite.com:80/webservice/user/ 用户名 /

这是我可以用来获取特定用户状态的代码:
$url = 'http://thesite.com:80/webservice/user/johndoe/';
$get = fopen($url, "r");
if ($get) {
while (!feof($get)) {
$state = fgets($get, 4096);
}
fclose($get);
}

echo "User johndoe is: ".$status;
// Output: User johndoe is: Online

现在我只需要每 x 秒遍历用户和站点的帮助,并使用用户的最后一个数组字段中的每个用户状态更新数组。

请注意,下面我使用 php 和 fopen,因为这是一个跨域 get 函数,我无法让 ajax/jquery 工作。我没有修改网络服务服务器的选项。

谢谢:)

最佳答案

如果您的 $users 数组没有改变,您可以这样做:

foreach($users as $username=>$userdata) {
$url = 'http://thesite.com:80/webservice/user/'.$username.'/';
$get = fopen($url, "r");
if ($get) {
while (!feof($get)) {
$state = fgets($get, 4096);
}
fclose($get);
}
$users[$username][1] = $state;
}

如果您可以将 $users 数组更改为具有关联性,如下所示:
$users = array(  
"username"=>array("fullname"=>"Fullname","status"=>"Status"),
"johndoe"=>array("fullname"=>"John Doe","status"=>"Online"),
"janedoe"=>array("fullname"=>"Jane Doe","status"=>"Offline")
);

这会让你使用更多的键/值并且更安全。

关于PHP 迭代多维数组 - 每 x 秒查询一次 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13320918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com