예
배열의 두 번째 요소를 꺼내기 시작하고 배열 끝까지의 모든 요소를 반환합니다.
<?php $a=array("red","green","blue","yellow","brown"); print_r(array_slice($a,2)); ?>
정의 및 사용법
array_slice() 함수는 배열의 선택된 부분을 반환합니다.
참고: 배열에 string키가 있는 경우 반환된 배열은 키를 유지합니다(예제 4 참조).
Syntax
array_slice(array,start,length,preserve)
Parameters | Description |
array | 필수입니다. 배열을 지정합니다. |
start | 필수입니다. 수치. 검색할 요소의 시작 위치를 지정합니다. 0 = 첫 번째 요소. 값을 양수로 설정하면 앞에서 뒤로 가져옵니다. 값을 음수로 설정하면 start의 절대값은 뒤에서 앞으로 가져옵니다. -2는 배열의 두 번째 요소부터 마지막 요소까지 시작한다는 의미입니다. |
길이 | 선택사항. 수치. 반환된 배열의 길이를 지정합니다. 값이 정수로 설정되면 해당 요소 수가 반환됩니다. 이 값이 음수로 설정되면 함수는 배열 끝에서 이 값을 가져오는 것을 종료합니다. 이 값을 설정하지 않으면 start 매개변수에 설정된 위치부터 배열의 끝까지 모든 요소가 반환됩니다. |
preserve | 선택사항. 함수가 키 이름을 유지할지 아니면 키 이름을 재설정할지 여부를 지정합니다. 가능한 값:
|
기술 세부 정보
반환 값: | 배열에서 선택한 부분을 반환합니다. |
PHP 버전: | 4+ |
Change log: | preserve 매개변수는 PHP 5.0.2의 새로운 기능입니다. |
更多实例
实例 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>"; } ?>
위 내용은 배열의 선택된 부분을 반환하는 PHP 함수 array_slice()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!