我有一个看起来像
的数组Array ( [0] => cluster_1 [1] => cluster_2 )
我想将新用户添加到第一个可用群集中,该群集有足够的空间来分配新用户。
我创建了这个类方法来输出每个数组项中的megs数量。我可以测试它并用
回显结果foreach ($cluster_array as $cluster) {
echo $cluster . " " . Server::server_free_space("/agents/" . $cluster, 2)."<br />";
}
输出给了我
cluster_1 20505
cluster_2 21398
这些数字是以MB为单位。
我想让我的数组循环查找第一个有足够空间来分配新用户的可用集群。例如,如果新用户需要分配1GB,那就是1024mb。因此,如果阵列中的第一个群集没有1024MB空闲,那么它将移动并扫描阵列中的下一个群集,依此类推。将用户添加到该群集。
我该如何处理?
答案 0 :(得分:1)
不应该只是:
foreach ($cluster_array as $cluster) {
$size = Server::server_free_space("/agents/" . $cluster, 2);
if($size >= $whatTheUserNeeds) {
// add user to cluster
break;
}
}
答案 1 :(得分:0)
$space_required_for_new_user = 1024
foreach ($cluster_array as $cluster) {
$free_space = Server::server_free_space("/agents/" . $cluster, 2);
if($free_space >= $space_required_for_new_user) {
//add new user
break; //will not continue through the loop
}
}