如何为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 :(得分: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];