为fopen做一个功能

时间:2014-10-26 22:15:07

标签: php

如何为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."')";

所以我得到了我的数据,但我想把它放在一个函数中。我把它放在函数中时得到的问题是我只能返回一个值。我能做什么?有没有办法把它放在一个函数中?

2 个答案:

答案 0 :(得分:0)

您的函数可以返回一个数组:

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

然后来电者可以这样做:

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

或者您可以定义函数以获取引用参数:

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

然后它可以被称为:

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

答案 1 :(得分: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];