$projects = array('1' => $link1, '2' => $link2);
function server_status($projects) {
foreach ($projects as $server) {
$api_status = ping_api($server);
if ($api_status == 1) {
$json = json_decode(file_get_contents($server), true);
foreach ($json as $obj) {
if ($obj['online'] < 1) {
// OFFLINE
return -1;
}
else {
// ONLINE
return $obj['online'];
}
}
} else {
// MAINTENANCE
return 0;
}
}
}
function cache_status($data) {
echo $data;
$servername = "localhost";
$username = "root";
$password = "";
try {
$conn = new PDO("mysql:host=$servername;dbname=test", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
foreach ($data as $status) {
// server id + status
$sql = "UPDATE projects SET status=:status WHERE id=:server_id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':status', $status, PDO::PARAM_INT);
$stmt->bindParam(':server_id', 1, PDO::PARAM_INT);
$stmt->execute();
}
}
$problem = array(server_status($projects));
print_r($problem);
私の問題は、私は変数$問題をしますprint_rときに、2件の結果があるので、それは、配列内の二つの結果を返す必要があります、ですが、それが唯一の最初の結果を返すの結果ではありません配列から..例として:誰もが親切にも私のコードを見て、私が間違っているのを教えする場合アレイ([0] => 260)PHPは、私の配列内のすべてを表示するが、最初の
すると、私は
などの各反復何かのためのあなたの応答を返す 'return'はすぐに機能を終了します。そのため、関数は常にチェックする最初のサーバーの状態を返します。 –
あなたの質問は少し不明です。ご質問をより明確にするために、[MVCE](https://stackoverflow.com/help/mcve)のガイドをお読みください。 – mjwatts
ナイジェル・レンを参照してください。そうですね?または変数を作成し、その都度値を設定する必要がありますか? –