Php 使用函数中创建的变量
我正在使用简单的HTMLDOM并从网站中提取两个链接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
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;
}