2014-10-26 10 views
-1

Как я могу сделать функцию для fopen. Вот код:Создание функции для fopen

$url = 'http://url.com'; 
    $handle = @fopen($url, 'r'); 
    if ($handle) { 
     $result = fgets($handle, 1024);  
     fclose($handle); 
    } 
    $allData = explode(',',$result); 
    $d1 = $allData[1]; 
    $d2 = $allData[2]; 
    $d3 = $allData[3];  

Пример того, что я сделал. Вот код:

function something(){ 
    $url = 'http://url.com'; 
    $handle = @fopen($url, 'r'); 
    if ($handle) { 
     $result = fgets($handle, 1024);  
     fclose($handle); 
    } 
    $allData = explode(',',$result); 
    $d1 = $allData[1]; 
    $d2 = $allData[2]; 
    $d3 = $allData[3]; 
} 

$sql = "INSERT INTO s (d1, d2, d3) VALUES ('".$d1."', '".$d2."', '".$d2."')"; 

Итак, я получаю свои данные, но я хочу включить его в функцию. Проблема, которую я получаю, когда я помещаю ее внутри функции, заключается в том, что я могу вернуть только одно значение. Что я могу сделать? Есть ли способ включить его в функцию?

+0

* "Что я могу сделать?" * - Покажите нам, что вы пробовали. –

+1

Почему бы не вернуть $ allData? .. – zavg

+0

регулярную функцию, но мне разрешено использовать эту функцию только один раз при использовании ее с INSERT SQL – user3011634

ответ

0

Ваша функция может возвращать массив:

return array($d1, $d2, $d3); 

Затем абонент может сделать:

list ($var1, $var2, $var3) = something(); 

Или вы можете определить функцию взять ссылочные аргументы:

function something (&$d1, &$d2, &$d3) { 
    ... 
} 

Тогда его можно назвать следующим:

something ($var1, $var2, $var3); 
+0

Спасибо, исправлено – Barmar

+0

Спасибо, не повезло .... Мне нужно будет подойти ближе к проблеме .... – user3011634

0

Вы можете просто вернуть Целые $allData массиву

function something(){ 
    $url = 'http://url.com'; 
    $handle = @fopen($url, 'r'); 
    if ($handle) { 
     $result = fgets($handle, 1024);  
     fclose($handle); 
    } 
    return explode(',',$result); 
} 

$allData = something(); 

$d1 = $allData[1]; 
$d2 = $allData[2]; 
$d3 = $allData[3]; 
+0

Спасибо нет удачи .... Мне придется подойти к этому вопросу ... – user3011634

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