Php 循环遍历数组并基于数组项应用操作

Php 循环遍历数组并基于数组项应用操作,php,Php,好吧,我一直在努力完成这件事 我有一个数组,看起来像 Array ( [0] => cluster_1 [1] => cluster_2 ) 我想向第一个可用集群添加一个新用户,该集群有足够的空间分配给新用户 我创建了这个类方法来输出每个数组项中的MEG数量。我可以对它进行测试,并用 foreach ($cluster_array as $cluster) { echo $cluster . " " . Server::server_free_space("/agents/

好吧,我一直在努力完成这件事

我有一个数组,看起来像

Array ( [0] => cluster_1 [1] => cluster_2 )
我想向第一个可用集群添加一个新用户,该集群有足够的空间分配给新用户

我创建了这个类方法来输出每个数组项中的MEG数量。我可以对它进行测试,并用

foreach ($cluster_array as $cluster) {
    echo $cluster . " " . Server::server_free_space("/agents/" . $cluster, 2)."<br />";
}
这些数字以MB为单位

我想让我的数组循环以找到第一个可用的集群,该集群有足够的空间来分配新用户。例如,如果一个新用户需要分配1gb,那就是1024mb。因此,如果阵列中的第一个集群没有1024MB空闲空间,那么它将移动并扫描阵列中的下一个集群,依此类推。将用户添加到该集群

我该如何处理这个问题呢?

不应该只是:

foreach ($cluster_array as $cluster) {
    $size =  Server::server_free_space("/agents/" . $cluster, 2);
    if($size >= $whatTheUserNeeds) {
        // add user to cluster
        break;
    }
}
foreach ($cluster_array as $cluster) {
    $size =  Server::server_free_space("/agents/" . $cluster, 2);
    if($size >= $whatTheUserNeeds) {
        // add user to cluster
        break;
    }
}
$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
    }
}