我在函数的1-10个参数之间传递,我希望函数为每个参数运行自己,但返回先前的数据和新数据。
所以我有一个如下函数:
function scrape_google_result_source($link,$link2) //$link is "test" $link2 is "test2"
{
$html = $link;
$cache = $html; //this is my first return
$html = $link2;
$cache = $cache . $html; //this is my first and second return
return $cache; //now I am returning it so it will be "testtest2"
}
如果我手动传入$ link1和$ link2然后对它进行编码以使用它们,我希望它为传入的每个参数运行自己然后设置`$ cache。= new result“所以我然后返回过去所有争论的结果。
可悲的是,我没有其他代码,因为我不确定从哪里开始,我确实找到了可能有效的func_num_args();
php函数?非常感谢任何帮助。
谢谢, 西蒙
答案 0 :(得分:1)
就个人而言,我发现解析数组和循环更容易:
function scrape_google_result_source($links)
{
$cache = '';
if( !is_array( $links ) )
{
return 'not array';
}
foreach( $links as $key=>$link )
{
$userAgent = 'Googlebot/2.1 (http://www.googlebot.com/bot.html)';
$url = $link;
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
$html = curl_exec($ch);
$cache .= $html;
curl_close($ch);
}
return $cache; //now I am returning it
}
$links_array = array( 'http..','http...');
$html = scrape_google_result_source( $links_array );
答案 1 :(得分:1)
试试这个;
function scrape_google_result_source($link,$link2)
{
$numargs = func_num_args();
foreach($numargs as $n){
$link = func_get_arg($n);
$userAgent = 'Googlebot/2.1 (http://www.googlebot.com/bot.html)';
$url = $link;
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
$html = curl_exec($ch);
$cache .= $html; //this is my first return
curl_close($ch);
}
return $cache; //now I am returning it
}