传递给函数的每个参数的PHP

时间:2013-10-08 12:36:41

标签: php

我在函数的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函数?非常感谢任何帮助。

谢谢, 西蒙

2 个答案:

答案 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
    }

func_get_arg manual