Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用函数中创建的变量_Php_Scope - Fatal编程技术网

Php 使用函数中创建的变量

Php 使用函数中创建的变量,php,scope,Php,Scope,我正在使用简单的HTMLDOM并从网站中提取两个链接 function get_links($website) { $html = file_get_html($website); $img = $html->find('div.entry img',0)->src; $url = $html->find('div.entry a',0)->href;} 在运行函数get\u links后,如何使用$img和$url?您可以将它们作为数组返回: return

我正在使用简单的HTMLDOM并从网站中提取两个链接

function get_links($website) {
$html = file_get_html($website);   
$img = $html->find('div.entry img',0)->src;  
$url = $html->find('div.entry a',0)->href;}

在运行函数get\u links后,如何使用$img和$url?

您可以将它们作为数组返回:

return array(
    'img'  => $img,
    'url'    => $url
);

可以将它们作为数组返回:

return array(
    'img'  => $img,
    'url'    => $url
);

有不同的方法:

  • 将它们返回给调用方(作为数组)
  • 在函数之外的不同范围内声明它们
  • 宣布他们为全球公民
  • 诸如此类

考虑更适合您的目标的解决方案。

有不同的方法:

  • 将它们返回给调用方(作为数组)
  • 在函数之外的不同范围内声明它们
  • 宣布他们为全球公民
  • 诸如此类

考虑更适合您的目标的解决方案。

您的功能只完成了一部分。您需要将这些值返回到调用源以便在那里使用。当从函数返回多个值时,我更喜欢将其作为关联数组返回

function get_links($website) {
   $html = file_get_html($website);   
   $img = $html->find('div.entry img',0)->src;  
   $url = $html->find('div.entry a',0)->href;}
   $results = array('img' => $img, 'url' => $url);
   return $results;
}

您的功能只完成了一部分。您需要将这些值返回到调用源以便在那里使用。当从函数返回多个值时,我更喜欢将其作为关联数组返回

function get_links($website) {
   $html = file_get_html($website);   
   $img = $html->find('div.entry img',0)->src;  
   $url = $html->find('div.entry a',0)->href;}
   $results = array('img' => $img, 'url' => $url);
   return $results;
}

你有两个选择。首先是归还:

function get_links($website) {
    $html = file_get_html($website);   
    $img = $html->find('div.entry img',0)->src;  
    $url = $html->find('div.entry a',0)->href;
    return array('img' => $img, 'url' => $url);
}
一个函数只能返回一个值,因此必须创建一个数组

另一个选项是通过引用获取参数:

function get_links($website, &$img, &$url) {
    $html = file_get_html($website);   
    $img = $html->find('div.entry img',0)->src;  
    $url = $html->find('div.entry a',0)->href;
}
调用此函数时,可以提供两个值,其中包含以下值:

get_links($someurl, $image, $url);
echo $image; // echoes the image source
echo $url; // echoes the url
我希望第一种技术(数组)会更简单

您还有其他选择:您可以将
$img
$url
设置为全局。这是个坏主意。您还可以将
get\u links
定义为一个匿名函数,并使用
use
关键字,但我认为这没有那么有用。您还可以将函数封装在对象中:

class Links {
    public $url;
    public $img;

    function __construct($website) 
        $html = file_get_html($website);   
        $this->img = $html->find('div.entry img',0)->src;  
        $this->url = $html->find('div.entry a',0)->href;
    }
}

// elsewhere
$links = new Links($someurl);
$links->img;
$links->url;
}

你有两个选择。首先是归还:

function get_links($website) {
    $html = file_get_html($website);   
    $img = $html->find('div.entry img',0)->src;  
    $url = $html->find('div.entry a',0)->href;
    return array('img' => $img, 'url' => $url);
}
一个函数只能返回一个值,因此必须创建一个数组

另一个选项是通过引用获取参数:

function get_links($website, &$img, &$url) {
    $html = file_get_html($website);   
    $img = $html->find('div.entry img',0)->src;  
    $url = $html->find('div.entry a',0)->href;
}
调用此函数时,可以提供两个值,其中包含以下值:

get_links($someurl, $image, $url);
echo $image; // echoes the image source
echo $url; // echoes the url
我希望第一种技术(数组)会更简单

您还有其他选择:您可以将
$img
$url
设置为全局。这是个坏主意。您还可以将
get\u links
定义为一个匿名函数,并使用
use
关键字,但我认为这没有那么有用。您还可以将函数封装在对象中:

class Links {
    public $url;
    public $img;

    function __construct($website) 
        $html = file_get_html($website);   
        $this->img = $html->find('div.entry img',0)->src;  
        $this->url = $html->find('div.entry a',0)->href;
    }
}

// elsewhere
$links = new Links($someurl);
$links->img;
$links->url;
}