2017-06-04 36 views
-1

,所以我試圖讓一個服務器的狀態迴歸,並且狀態是在外地返回「真/假」但是,當我把它在PHP中,以顯示服務器的狀態,它只是說「1」或「0」,是否有一種方法來檢查響應,所以我可以說類似於 「如果0,返回」離線「,如果1返回」在線「如果3回「未知狀態」的Json/PHP - 獲得狀態,更換

function status($server) { 
    $constructor = 'https://url.com/query/'.$server.'/info'; 
    $json = json_decode(file_get_contents($constructor), true); 
    return $json['status']; 
} 

多數民衆贊成responsing 0或1的代碼; 狀態:

我很困惑,爲什麼它返回0或1,而不是真的還是假的,但我也想明白,我怎麼可以「在線」或「離線」

+0

您可以包含您請求的JSON文件的示例嗎? –

+0

{ 「狀態」:真實, 「主機名」:「status.myserver.com」 } 另外,我是不正確的,如果狀態返回false,它只是不返回任何在PHP代碼段 – IndieGuts

+0

三江源,您可以包括在你的**問題**中,你怎樣調用這個函數,你是否迭代了服務器列表然後回顯狀態? –

回答

-1

使用此代碼替換數字:

function status($server) { 
    $constructor = 'https://url.com/query/'.$server.'/info'; 
    $json = json_decode(file_get_contents($constructor), true); 
    return $json['status'] ? 'online' : 'offline'; 
} 

我用三元運營商:PHP Ternary Operator

在PHP中符合下列條件:

var_dump("0" == FALSE); // bool(true) 
var_dump("1" == TRUE); // bool(true) 

這就是爲什麼 「1」 == TRUE

+1

這會工作,但對於代碼重用的可用性和一般理智的方式,你應該返回true或false然後依賴於該結果輸出。說'回聲狀態($服務器)? 「在線」:「離線」;' –