如何基于函数内的foreach循环在php中编写if条件?

如何基于函数内的foreach循环在php中编写if条件?,php,Php,我是这里的新手,请求根据此函数的输出编写条件语句 $ID = '1234'; $uc = array("example1.com", "example2.com", "example3.com"); function ucQuery($ucarray, $ID){ foreach ($ucarray as $value) { $host = $value; try{

我是这里的新手,请求根据此函数的输出编写条件语句

 $ID = '1234';
    
 $uc = array("example1.com", "example2.com", "example3.com");
    
 function ucQuery($ucarray, $ID){
    foreach ($ucarray as $value) {
        $host = $value;
        try{
            include('info.php');
            $response = $client->getUser(array("name" => ID))->return;
            print_r($response);
        }catch (Exception $e){
            echo "false";
        }
    }
    }
    
    ucQuery($uc, $ID);
info.php具有对服务器的soapclient调用并返回响应。当我运行此命令时,我看到输出打印在页面上。因此,在3台服务器中,我希望这是1台,其余2台返回false。所有的工作到这里

我基本上被困在如何推进这一点上。例如,到目前为止

如果用户是从第一个example1.com服务器返回的,我应该运行另一个函数,并说这个用户是从这个特定的服务器返回的

如果用户不是从所有服务器返回的,我应该打印一个错误


非常感谢您的帮助。非常感谢。

为什么不这样做:

$ID = '1234';
    
$uc = array("example1.com", "example2.com", "example3.com");

function ucQuery($ucarray, $ID){
    $user_data_array=[];
    foreach ($ucarray as $value) {
        $host = $value;
        try{
            include('info.php');
            $response = $client->getUser(array("name" => ID))->return;
            print_r($response);
            $user_data_array[$value]=$response;
        }catch (Exception $e){
            echo "false";
        }
    }
    return $user_data_array;
}
    
$user_data_array = ucQuery($uc, $ID);

if (count($user_data_array) < count($uc)) {
    // not all servers responded OK
    // do whatever you need to
    echo "User '$ID' was not returned from all servers";
}

foreach ($user_data_array as $server => $response){
    another_function($ID, $server);
    echo "User '$ID' was returned from server $server";
}
$ID='1234';
$uc=数组(“example1.com”、“example2.com”、“example3.com”);
函数ucQuery($ucarray,$ID){
$user_data_array=[];
foreach($ucarray作为$value){
$host=$value;
试一试{
包括('info.php');
$response=$client->getUser(数组(“name”=>ID))->return;
打印(回复);
$user\u data\u数组[$value]=$response;
}捕获(例外$e){
呼应“假”;
}
}
返回$user\u data\u数组;
}
$user\u data\u array=ucQuery($uc,$ID);
if(计数($user\u data\u array)$response){
另一个_函数($ID,$server);
echo“从服务器$server返回了用户'$ID'”;
}

您不应该使用
$response=$client->getUser(数组(“name”=>$ID))->返回
而不是
$response=$client->getUser(数组(“name”=>ID))->返回