2012-05-21 52 views
-1

我使用的是免費的API服務,提供我有關的IP 的位置信息,並在這裏是代碼我使用如何讓內容到數組

$api = file_get_contents('http://api_site.com?ip=XX.XX.XX.XX'); 
// WHERE XX.XX.XX.XX Is IP and api_site.com is my provider 

的輸出如下(這是上我)

OK;XX.XX.XX.XX;EG;EGYPT;AL QAHIRAH;CAIRO;+02:00 
// ok , IP , Country code , Country , Region , City , Time zone GMT 

現在如何得到下面的輸出到數組,所以我可以輕鬆地將其顯示出來 我用下面的代碼。

$api = file_get_contents('http://api_site.com?ip=XX.XX.XX.XX'); 
$info = array_shift(explode(";", api)); 
$message = "$info"; 
// Output is just "OK" 
//OK;XX.XX.XX.XX;EG;EGYPT;AL QAHIRAH;CAIRO;+02:00 
// I want get all sperated 

那麼有沒有什麼辦法可以通過;爆炸並得到所有,並能顯示 〜感謝

+1

以及你剛纔回答你自己..使用爆炸() – cen

+4

爲什麼你使用'array_shift()'? – JJJ

+0

@Juhana好,嗯,這是非常好的問題:|沒有輸出顯示+02:00 GMT!早晨的愚蠢:) –

回答

1

你爲什麼用array_shift? 該函數將返回數組的第一個元素,將其從數組本身中刪除。 這個建議立即進行刪除已經足夠了:

$api = file_get_contents('http://api_site.com?ip=XX.XX.XX.XX'); 
$info = explode(";", $api); 

,如果你要打印出來的結果結合在一起的,你需要使用implode功能,它具有相同的參數explode

1

只需爆炸。根本不要使用array_shift。這裏有一個例子:

$info = explode(";", api); 
$message = spritnf('Country: %s', $info[3]);