Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Funktion array_slice(), die einen ausgewählten Teil eines Arrays zurückgibt

PHP-Funktion array_slice(), die einen ausgewählten Teil eines Arrays zurückgibt

黄舟
Freigeben: 2023-03-17 08:32:02
Original
3038 Leute haben es durchsucht

Beispiel

Beginnen Sie mit dem Herausnehmen des zweiten Elements des Arrays und geben Sie alle Elemente bis zum Ende des Arrays zurück:

<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,2));
?>
Nach dem Login kopieren

Definition und Verwendung

array_slice () Die Funktion gibt den ausgewählten Teil des Arrays zurück.

Hinweis: Wenn das Array einen Schlüssel mit der Zeichenfolge hat, behält das zurückgegebene Array den Schlüssel bei (siehe Beispiel 4).

Syntax

array_slice(array,start,length,preserve)
Nach dem Login kopieren
ParameterBeschreibung
arrayErforderlich . Gibt ein Array an.
startErforderlich. Zahlenwert. Gibt die Startposition des abzurufenden Elements an. 0 = erstes Element. Wenn der Wert auf eine positive Zahl gesetzt ist, wird er von vorne nach hinten genommen. Wenn der Wert auf eine negative Zahl gesetzt ist, wird der absolute Wert von start von hinten nach vorne genommen. -2 bedeutet, dass mit dem vorletzten Element des Arrays begonnen wird.
lengthOptional. Zahlenwert. Gibt die Länge des zurückgegebenen Arrays an. Wenn der Wert auf eine Ganzzahl festgelegt ist, wird diese Anzahl an Elementen zurückgegeben. Wenn dieser Wert auf eine negative Zahl gesetzt ist, beendet die Funktion den Abruf so weit vom Ende des Beispielarrays entfernt. Wenn dieser Wert nicht festgelegt ist, werden alle Elemente ab der durch den Startparameter festgelegten Position bis zum Ende des Arrays zurückgegeben.
preserveOptional. Gibt an, ob die Funktion Schlüsselnamen beibehält oder Schlüsselnamen zurücksetzt. Mögliche Werte:
  • 参数描述
    array必需。规定数组。
    start必需。数值。规定取出元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从前往后开始取。如果该值设置为负数,则从后向前取 start 绝对值。 -2 意味着从数组的倒数第二个元素开始。
    length可选。数值。规定被返回数组的长度。 如果该值设置为整数,则返回该数量的元素。如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。
    preserve可选。规定函数是保留键名还是重置键名。可能的值:
    • true - 保留键名

    • false - 默认。重置键名

    true – Schlüsselname beibehalten

  • false – Standard. Schlüsselname zurücksetzen
    返回值:返回数组中的选定部分。
    PHP 版本:4+
    更新日志preserve 参数是在 PHP 5.0.2 中新增的。
<🎜>Technische Details<🎜>
Rückgabewert:Gibt den ausgewählten Teil des Arrays zurück.
PHP-Version: 4+
Update-Protokoll<🎜>:preserve-Parameter ist neu in PHP 5.0.2.

更多实例

实例 1

从数组的第一个元素开始取出,并返回两个元素:

<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,1,2));
?>
Nach dem Login kopieren

实例 2

使用负的 start 参数:

<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,-2,1));
?>
Nach dem Login kopieren

实例 3

带有设置为 true 的 preserve 参数:

<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,1,2,true));
?>
Nach dem Login kopieren

实例 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));
?>
Nach dem Login kopieren

array_slice函数实现的分页方法非常好用,分享如下:

<?php 
//假定一个结果集二维数组: 
   $arr = array(array(&#39;name&#39;=> &#39;name1&#39;,&#39;sex&#39; => &#39;sex1&#39;,&#39;job&#39; => &#39;job1&#39;), 
              array(&#39;name&#39;=> &#39;name2&#39;,&#39;sex&#39; => &#39;sex2&#39;,&#39;job&#39; => &#39;job2&#39;), 
              array(&#39;name&#39;=> &#39;name3&#39;,&#39;sex&#39; => &#39;sex3&#39;,&#39;job&#39; => &#39;job3&#39;), 
              array(&#39;name&#39;=> &#39;name4&#39;,&#39;sex&#39; => &#39;sex4&#39;,&#39;job&#39; => &#39;job4&#39;), 
              array(&#39;name&#39;=> &#39;name5&#39;,&#39;sex&#39; => &#39;sex5&#39;,&#39;job&#39; => &#39;job5&#39;), 
              array(&#39;name&#39;=> &#39;name6&#39;,&#39;sex&#39; => &#39;sex6&#39;,&#39;job&#39; => &#39;job6&#39;), 
              array(&#39;name&#39;=> &#39;name7&#39;,&#39;sex&#39; => &#39;sex7&#39;,&#39;job&#39; => &#39;job7&#39;), 
              array(&#39;name&#39;=> &#39;name8&#39;,&#39;sex&#39; => &#39;sex8&#39;,&#39;job&#39; => &#39;job8&#39;), 
              array(&#39;name&#39;=> &#39;name9&#39;,&#39;sex&#39; => &#39;sex9&#39;,&#39;job&#39; => &#39;job9&#39;), 
              array(&#39;name&#39;=> &#39;name10&#39;,&#39;sex&#39; => &#39;sex10&#39;,&#39;job&#39; => &#39;job10&#39;), 
              array(&#39;name&#39;=> &#39;name11&#39;,&#39;sex&#39; => &#39;sex11&#39;,&#39;job&#39; => &#39;job11&#39;), 
              array(&#39;name&#39;=> &#39;name12&#39;,&#39;sex&#39; => &#39;sex12&#39;,&#39;job&#39; => &#39;job12&#39;), 
     ); 
 
 //计算总记录条数 
 $num = count($arr); 
 //规定每页显示的条数 
 $perpage = 3; 
 //计算页数 
 $pages = ceil($num/$perpage); 
 //echo $num,$perpage,$pagecount;exit; 
 if(is_numeric($_REQUEST[&#39;page&#39;])) 
 { 
  if($_REQUEST[&#39;page&#39;]<1){ 
   $page = 1; 
  }elseif($_REQUEST[&#39;page&#39;]>$pages) 
  { 
   $page = $pages; 
  }else{ 
  $page = $_REQUEST[&#39;page&#39;]; 
   } 
 }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[&#39;name&#39;]; ?></td> 
  <td><?php echo  $v[&#39;sex&#39;]; ?></td> 
  <td><?php echo  $v[&#39;job&#39;]; ?></td> 
 </tr> 
<?php 
} 
?> 
</table> 
<?php 
if($page>1){ 
 echo "<a href=&#39;?page=1&#39;>首页</a>"; 
 echo "<a href=&#39;?page=".($page-1)."&#39;>上一页</a>"; 
}
if($page<$pages) 
{ 
 echo "<a href=&#39;?page=".($page+1)."&#39;>下一页</a>"; 
 echo "<a href=&#39;?page=".$pages."&#39;>末页</a>"; 
} 
?>
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonPHP-Funktion array_slice(), die einen ausgewählten Teil eines Arrays zurückgibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage