循环遍历数组并根据数组项应用操作

时间:2011-08-26 23:35:11

标签: php

好的,所以我一直在努力完成这个问题。

我有一个看起来像

的数组
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空闲,那么它将移动并扫描阵列中的下一个群集,依此类推。将用户添加到该群集。

我该如何处理?

2 个答案:

答案 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
    }
}