[英]How to write a if condition in php based on foreach loop inside a function?
我是這里的新手,請求幫助編寫基於此 function 的 output 的條件語句。
$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 調用並返回響應。 當我運行它時,我看到頁面上打印了 output。 因此,在 3 台服務器中,我希望它位於 1 台中,並且 rest 2 返回 false。 一切工作到這里。
我基本上被困在如何推進這件事上。 到目前為止的例子,
如果用戶是從第一個 example1.com 服務器返回的,我應該運行另一個 function 並說這個用戶是從這個特定的服務器返回的。
如果用戶沒有從所有服務器返回,我應該打印一個錯誤。
非常感謝這里的任何幫助。 非常感謝。
為什么不這樣:
$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";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.