每个请求显示不同的数据

时间:2016-06-24 10:52:56

标签: php

我在数组中获得了一些数据库数据。现在我想在每个页面请求中显示3个元素。

示例:

Data: array(1, 2, 3, 4, 5, 6, 7, 8, 9)
First request:  1, 2, 3
Second request: 4, 5, 6
...

2 个答案:

答案 0 :(得分:0)

你可以使用两个php函数array_slice和array_merge。

步骤#1 切割数组的前三个元素。

步骤#2 将这三个元素与其余数组元素合并。

<?php
function shuffle(arr){
  $first_three = array_slice(arr,0,3);
  $remaining_array = array_slice(arr,3);

  $new_array = array_merge($remaining_array,$first_three);

  return $new_array;
}

$numbers_array = array(1,2,3,4,5,6,7,8,9);

shuffle($numbers_array);

?>

答案 1 :(得分:0)

最后我得到了一个解决方案,这是我的代码。谢谢大家的帮助

 <?php
               session_start();
               $array1=array(1,2,3,4,5,6,7,8,9);
            $i=0;
    if(isset($_SESSION["firstthreeids"])){
    $value=$_SESSION["firstthreeids"];
        $prevarray=explode(",",$value);
        $displayids=array_diff($array1,$prevarray);
    }
    else{
        $displayids=$array1;
    }
foreach($displayids as $result){
    if($i==3){break;}
    $check[]=$result;   
    $i++;
}
if(count($displayids)==3){
    unset($_SESSION['firstthreeids']);
    session_destroy();
}
else{
    if(isset($_SESSION["firstthreeids"])){
        $_SESSION["firstthreeids"]=implode(",",$check).",".$_SESSION["firstthreeids"];
}
       else{    
          $_SESSION["firstthreeids"]=implode(",",$check);   
            }
          }

         print_r($displayids);

?>