2012-05-21 4 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 хорошо, ummm, что очень хороший вопрос: | на выходе не показывалось +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]); 
Смежные вопросы