Maison >développement back-end >tutoriel php >fonction php array_slice() qui renvoie une partie sélectionnée d'un tableau
Exemple
Commencez à supprimer le deuxième élément du tableau et renvoyez tous les éléments jusqu'à la fin du tableau :
<?php $a=array("red","green","blue","yellow","brown"); print_r(array_slice($a,2)); ?>
Définition et utilisation
array_slice () La fonction renvoie la partie sélectionnée du tableau.
Remarque : Si le tableau a une clé chaîne , le tableau renvoyé conservera la clé (voir exemple 4).
Syntaxe
array_slice(array,start,length,preserve)
Paramètre | Description | ||||||||||||||||
tableau | Obligatoire . Spécifie un tableau. | ||||||||||||||||
start | Obligatoire. valeur numérique. Spécifie la position de départ de l'élément à récupérer. 0 = premier élément. Si la valeur est définie sur un nombre positif, elle sera prise d'avant en arrière. Si la valeur est définie sur un nombre négatif, la valeur absolue du début est prise de l'arrière vers l'avant. -2 signifie commencer de l'avant-dernier élément du tableau. | ||||||||||||||||
longueur | Facultatif. valeur numérique. Spécifie la longueur du tableau renvoyé. Si la valeur est définie sur un nombre entier, ce nombre d'éléments est renvoyé. Si cette valeur est définie sur un nombre négatif, la fonction terminera la récupération aussi loin de la fin de l'exemple de tableau. Si cette valeur n'est pas définie, tous les éléments commençant à la position définie par le paramètre start jusqu'à la fin du tableau sont renvoyés. | ||||||||||||||||
préserver | Facultatif. Spécifie si la fonction conserve les noms de clés ou réinitialise les noms de clés. Valeurs possibles :
|
Valeur renvoyée : | Renvoie la partie sélectionnée du tableau. |
Version PHP : | 4+ |
Journal de mise à jour : |
更多实例
实例 1
从数组的第一个元素开始取出,并返回两个元素:
<?php $a=array("red","green","blue","yellow","brown"); print_r(array_slice($a,1,2)); ?>
实例 2
使用负的 start 参数:
<?php $a=array("red","green","blue","yellow","brown"); print_r(array_slice($a,-2,1)); ?>
实例 3
带有设置为 true 的 preserve 参数:
<?php $a=array("red","green","blue","yellow","brown"); print_r(array_slice($a,1,2,true)); ?>
实例 4
带有字符串和整数键名:
<?php $a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"brown"); print_r(array_slice($a,1,2)); $a=array("0"=>"red","1"=>"green","2"=>"blue","3"=>"yellow","4"=>"brown"); print_r(array_slice($a,1,2)); ?>
array_slice函数实现的分页方法非常好用,分享如下:
<?php //假定一个结果集二维数组: $arr = array(array('name'=> 'name1','sex' => 'sex1','job' => 'job1'), array('name'=> 'name2','sex' => 'sex2','job' => 'job2'), array('name'=> 'name3','sex' => 'sex3','job' => 'job3'), array('name'=> 'name4','sex' => 'sex4','job' => 'job4'), array('name'=> 'name5','sex' => 'sex5','job' => 'job5'), array('name'=> 'name6','sex' => 'sex6','job' => 'job6'), array('name'=> 'name7','sex' => 'sex7','job' => 'job7'), array('name'=> 'name8','sex' => 'sex8','job' => 'job8'), array('name'=> 'name9','sex' => 'sex9','job' => 'job9'), array('name'=> 'name10','sex' => 'sex10','job' => 'job10'), array('name'=> 'name11','sex' => 'sex11','job' => 'job11'), array('name'=> 'name12','sex' => 'sex12','job' => 'job12'), ); //计算总记录条数 $num = count($arr); //规定每页显示的条数 $perpage = 3; //计算页数 $pages = ceil($num/$perpage); //echo $num,$perpage,$pagecount;exit; if(is_numeric($_REQUEST['page'])) { if($_REQUEST['page']<1){ $page = 1; }elseif($_REQUEST['page']>$pages) { $page = $pages; }else{ $page = $_REQUEST['page']; } }else{ $page = 1; } $start = ($page-1)*$perpage; $newpage = array_slice($arr,$start,$perpage,true); //print_r($newpage);exit; ?> <table cellpadding="0" cellspacing="0" border="1"> <tr> <td>name</td> <td>sex</td> <td>job</td> </tr> <?php foreach($newpage as $k => $v) { ?> <tr> <td><?php echo $v['name']; ?></td> <td><?php echo $v['sex']; ?></td> <td><?php echo $v['job']; ?></td> </tr> <?php } ?> </table> <?php if($page>1){ echo "<a href='?page=1'>首页</a>"; echo "<a href='?page=".($page-1)."'>上一页</a>"; } if($page<$pages) { echo "<a href='?page=".($page+1)."'>下一页</a>"; echo "<a href='?page=".$pages."'>末页</a>"; } ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!