在php中维护连续计数

在php中维护连续计数,php,Php,我有一个小问题,需要为这个职位做一个计数。我已经编写了一个函数,它将选择页面中的所有用户,并按顺序对其进行定位 例如: 麦克风位置1 史蒂夫职位2……… .. 雅各布位置30 但当我移到第二页时,我遇到的问题是,计数是从第一页开始的 詹妮应该是31号,但名单上写着 珍妮职位1 Tanya职位2 下面是我的功能 function nrk($duty,$page,$position) { $url="http://www.test.com/people.php?q=$duty&sta

我有一个小问题,需要为这个职位做一个计数。我已经编写了一个函数,它将选择页面中的所有用户,并按顺序对其进行定位

例如:
麦克风位置1
史蒂夫职位2………
..
雅各布位置30

但当我移到第二页时,我遇到的问题是,计数是从第一页开始的 詹妮应该是31号,但名单上写着

珍妮职位1
Tanya职位2

下面是我的功能

function nrk($duty,$page,$position)
{
    $url="http://www.test.com/people.php?q=$duty&start=$page";

    $ch=curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    $result=curl_exec($ch);


        $dom = new DOMDocument();
        @$dom->loadHTML($result);

        $xpath=new DOMXPath($dom);
        $elements = $xpath->evaluate("//div");
        foreach ($elements as $element)
        {
            $name  = $element->getElementsByTagName("name")->item(0)->nodeValue;
            $position=$position+1;
            echo $name." Position:".$position."<br>";
        }   
            return $position;
    }
功能nrk($duty,$page,$position)
{
$url=”http://www.test.com/people.php?q=$duty&start=$page”;
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
$result=curl\u exec($ch);
$dom=新的DOMDocument();
@$dom->loadHTML($result);
$xpath=newdomxpath($dom);
$elements=$xpath->evaluate(“//div”);
foreach($elements作为$element)
{
$name=$element->getElementsByTagName(“名称”)->item(0)->nodeValue;
$position=$position+1;
echo$name.“位置:”.$Position.“
”; } 返回$position; }
下面是for循环,我尝试在其中循环页面计数

for ($page=0;$page<=$pageNumb;$page=$page + 10)
        {
            nrk($duty,$page,$position);
        }

用于($page=0;$page作为第二页的参数传递一个偏移量,比如说30。因此,您的位置将是
position+offset+1
您正在修改函数
nrk
position
的值,并返回循环中未分配回
位置的更改值。因此,您需要执行以下操作:

$position = $position + ($page - 1) * $count_per_page; 
//In your case $count_per_page == 30;
$position = nrk($duty,$page,$position);

或者,您可以避免返回修改后的值,并通过引用传递变量
position

如果我对问题的理解是正确的,那么您需要通过引用传递$position变量,如:

for ($page=0;$page<=$pageNumb;$page=$page + 10)
        {
            nrk($duty,$page,&$position);
        }

for($page=0;$page或者您可以将计数器存储在会话变量中,以便可以从站点的任何一点检索。

我之前尝试过,但它已被弃用。。弃用:按引用传递调用时间已被弃用按引用传递已被弃用($position=nrk($duty,$page,$position);似乎不起作用。。。。。