function sub($url_cut_start,$url_cut_length,$out_rp,$out){
        foreach($out_rp[1] as $outurl){
            //echo $outurl."</br>";
            if($url_cut_start==""){
                echo "请输入截取连接起始位置";
                }
                                    
                                    
            if($url_cut_start!=""&&$url_cut_length!=""){
                $sub=substr($outurl,$url_cut_start,$url_cut_length);
                echo $sub."</br>";//截取部分
                }
            if($url_cut_length==""){
                $sub=substr($outurl,$url_cut_start);
                echo $sub."</br>";
                }
                                    
            $allurl=$out.$sub;
            echo '<a href="'.$allurl.'">'.$allurl.'</a></br>';
            
                                    
        }
     return $allurl;                   
}$allurl是一组数,之后的程序中我要用到结果,怎么调用这个结果

解决方案 »

  1.   

    你把$allurl定义成全局的,如果是类,可以设为属性
      

  2.   


    $arr = sub($url_cut_start,$url_cut_length,$out_rp,$out);
    print_r($arr);
      

  3.   

    你不是return $allurl;了么,取到后保存下来啊
      

  4.   

    return $allurl
    只能返回最后一个值
      

  5.   

    同一个问题开二个贴
    http://topic.csdn.net/u/20100607/17/7d18b06f-3ee4-40b5-adc6-1eb168d3739b.html?2609
    循环外声明一个变量,把结果全部用 .= 的方式连续起来附给它即可,你没有把循环的结果存起来,返回的就是最后一个,也可用数组function sub($url_cut_start, $url_cut_length, $out_rp, $out){

    isset($url_cut_start) ? $url_cut_start : "";//等于:if ($url_cut_start) $url_cut_start = $url_cut_start; else $url_cut_start = "";
    isset($url_cut_length) ? $url_cut_length : "";
    // $allurl = "";
    $allurl = array();
        foreach($out_rp[1] as $outurl){
                                                    
            if($url_cut_start!=""){
            
             if ($url_cut_length != "")
                 $sub=substr($outurl,$url_cut_start,$url_cut_length);
                else 
                 $sub=substr($outurl,$url_cut_start);
            }else 
             return "请输入截取连接起始位置";             
            $allurl[] = $out.$sub;                              
        }    
        return $allurl;                   
    }$arr = array(
    1=>array(
    0=>'<a href="http://www.google.com/?fs=productlist&id=2134314">2134314</a>',
    1=>'<a href="http://www.google.com/?fs=productlist&id=2134315">2134315</a>',
    2=>'<a href="http://www.google.com/?fs=productlist&id=2134316">2134316</a>',
    )
    );
    $contents = "";
    foreach($arr[1] as $s)
    $contents .= $s . "\n";
    $pattern = "/<a href=\"(.*?)\">.*<\/a>/i";
    preg_match_all($pattern,$contents,$out_rp);
    $out = '?fs=productlist&id=';
    $arr1 = sub(strlen('http://www.google.com/?fs=productlist&id='), null, $out_rp, $out);
    print_r($arr1);
      

  6.   


    不好意思,程序刚开始没读明白
    print_r($arr1);就可以把值全输出来了,我是想继续用这组数据,对里面的网页进行分析
      preg_match($pattern_content,$arr1,$nr)