新手求助,自定义函数内使用global

#1 bxhcsz

数组分页函数里用了global,但是无效
这个是控制器里边,分页函数文件在入口文件include了。
$page=$this->spArgs('page');
                $nowpage=empty($page)?"1":$page;
                $list=page_array('1',$nowpage,$arr,'0');//获取分页数组
                $fanye=show_array($countpage,"index.php?c=price&a=myprice");//显示分页链接
                include("tpl/myprice.php");
下边是分页函数,放在function.php里入口引用。
function page_array($count,$page,$array,$order){
           global $countpage; 定全局变量
    $page=(empty($page))?'1':$page; 判断当前页面是否为空 如果为空就表示为第一页面
       $start=($page-1)*$count; 计算每次分页的开始位置
    if($order==1){
      $array=array_reverse($array);
    }   
    $totals=count($array);  
    $countpage=ceil($totals/$count); 计算总页面数
           $pagedata=array();
        $pagedata=array_slice($array,$start,$count);
           return $pagedata;  返回查询数据
}
/**
* 分页及显示函数
* $countpage 全局变量,照写
* $url 当前url
*/
function show_array($countpage,$url){
     $page=empty($_GET['page'])?1:$_GET['page'];
         if($page > 1){
                   $uppage=$page-1;

         }else{
                 $uppage=1;
         }

         if($page < $countpage){
                   $nextpage=$page+1;

         }else{
                    $nextpage=$countpage;
         }
          
    $str='
';
        $str.="共  {$countpage}  页 / 第 {$page} 页";
        $str.="   首页  ";
        $str.=" 上一页  ";
        $str.="下一页  ";
        $str.="尾页  ";
        $str.='
';
        return $str;
}

2013-09-24 08:08:27

#2 jake

先搞清楚全局变量怎么用,还有变量和参数的区别?参数和变量不是同个名字就是一样。

只有global $countpage;这里只是声明一个外部变量是在本函数使用的意思。但是没找到外部变量在什么地方赋值。

建议:理清楚你的代码逻辑再看,另外,要看一个变量是程序过程中的值是什么,可以用dump函数。


2013-09-24 10:00:57

#3 bxhcsz

:L  2了,谢谢弄好了

2013-09-24 10:10:47