2014-11-29 2 views
1

Я пытаюсь выполнить URL-адрес ping и, если удастся вернуть URL-адрес переменной. Какой бы ни был URL-адрес, я буду использовать его вне функции.Невозможно перепрограммировать переменную из fucntion

function findUrl(){ 
    $links = array(
     'www.anyurl.com/ping' => 'www.anyurl.com', 
     'www-01.anyurl.com/ping' => 'www-01.anyurl.com', 
     'www-02.anyurl.com/ping' => 'www-02.anyurl.com', 
     'www-03.anyurl.com/ping' => 'www-03.anyurl.com' 
    ); 
    foreach($links as $value => $key){ 
     $ch = curl_init($value); 
     curl_setopt($ch, CURLOPT_TIMEOUT, 5); 
     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     $data = curl_exec($ch); 
     $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
     curl_close($ch); 
     if($httpcode>=200 && $httpcode<300){ 
      echo $value; // Does ehco Ping URL 
      echo $key; // Does echo URL 
      exit; 
     } else {echo "Not successful."} 
    }; 
    echo "didn't work" . "<br>"; 
} 
findUrl(); // run function 
echo $value; // Doesn't return URL. But i somehow need it. 

Заранее спасибо.

ответ

1

Вы не хотите exit, вы хотите return. exit завершает весь сценарий.

return $value; 

Тогда при вызове функции, вам нужно получить возвращаемое значение:

$val = findUrl(); 
echo $val; 
+0

Спасибо. Оно работает! – Yuri

Смежные вопросы