我在数组中获得了一些数据库数据。现在我想在每个页面请求中显示3个元素。
示例:
Data: array(1, 2, 3, 4, 5, 6, 7, 8, 9)
First request: 1, 2, 3
Second request: 4, 5, 6
...
答案 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);
?>