Im vorherigen Artikel „PHP-Array-Lernen: So entfernen Sie beliebige Elemente“ haben wir die Methode vorgestellt, mit der Funktion array_splice()
ein oder mehrere Elemente eines Arrays zu löschen. Dieses Mal setzen wir das Studium von PHP-Arrays fort und stellen die Methode zum Abfangen von Arrays und zum Erhalten einiger Elemente vor. Interessierte Freunde können mehr darüber erfahren~array_splice()
函数删除数组的一个或多个元素的方法。这次我们继续PHP数组的学习,介绍一下截取数组,获取部分元素的方法,感兴趣的朋友可以学习了解一下~
在之前的学习中,我们了解到截取字符串、获取子串可以使用substr()和mb_substr()。那么如果是截取数组、返回部分数组元素呢?我们要怎么操作?下面给大家介绍两种方法。
方法一:使用array_splice()函数
对的,array_splice()函数!我们知道array_splice()函数可以添加、删除和替换数组元素,怎么又可以截取数组了呢?
那是因为array_splice()函数在删除数组的一部分元素时,会将这些被删除的元素组成为一个新数组,然后返回这个新数组;因此array_splice()函数可以用来截取数组片段。
我们来看下面一个小例子:
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_splice($arr,2); //截取从下标2开始的全部数组元素 var_dump($result); $arr = array(10,12,20,25,24); $result = array_splice($arr,1,2);//截取从下标1开始的两个元素 var_dump($result); ?>
输出结果为:
OK!使用array_splice($array,$start,$length)
函数我们可以根据数组下标($start
的值),截取指定长度($length
的值)的数组片段。要记住array_splice()函数会改变原数组!
因为array_splice()函数的删除功能在之前的文章中详细叙述过了,这里就不具体介绍了,不懂的可以去看《PHP数组学习之怎么去除任意元素》。接下来我们了解第二种截取数组的方法!
方法二:使用array_slice()函数
array_slice()函数就是PHP提供的用来截取数组的一个函数,可以从数组中提取出一个片段。下面我们来了解一下array_slice()函数:
array_slice($array,$start,$length,$preserve)
该函数支持2个必需的参数:$array
和$start
,两个可省略的参数$length
和$preserve
。
参数$array
就不必介绍了吧,参数$start
用于指定开始截取的位置(下标),参数$length
表示截取长度(如果省略,则会从指定下标开始一直截取到数组末尾)。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_slice($arr,2); //截取从下标2开始的全部数组元素 var_dump($result); $result = array_slice($arr,1,2); //截取从下标1开始的两个元素 var_dump($result); ?>
输出结果为:
可以看出,在截取数组操作上,array_slice()函数和array_splice()函数的功能是类似的;但array_slice()函数不会改变原数组!
参数$start
有3种取值情况:
为0,
为正数,则从前往后截取。
为负数,则从距离 $array 末端 -start
的位置开始(即按绝对值从数组右侧开始向左侧定位),从后往前截取。例如 -2
意味着从数组的倒数第二个元素开始。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_slice($arr,2); var_dump($result); $result = array_slice($arr,-2); var_dump($result); ?>
输出结果为:
参数$length
也有3种取值情况:
如果 length 为正数,那么表示截取的元素个数;
如果 length 为负数,那么截取的片段将终止在距离数组末端 length 的位置;
如果省略,那么将从 start 位置开始,一直截取到数组的末尾。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_slice($arr,1,1); var_dump($result); $result = array_slice($arr,1,-1); var_dump($result); ?>
输出结果为:
参数$preserve
Ja, Funktion array_splice()! Wir wissen, dass die Funktion array_splice() Array-Elemente hinzufügen, löschen und ersetzen kann. Wie kann sie ein Array abfangen?
Das liegt daran, dass die Funktion array_splice(), wenn sie einige Elemente des Arrays löscht, diese gelöschten Elemente in ein neues Array umwandelt und dann das neue Array zurückgibt. Daher kann die Funktion array_splice() zum Abfangen von Array-Fragmenten verwendet werden. Sehen wir uns unten ein kleines Beispiel an:
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "截取的数组片段:"; $result = array_slice($arr,1,1,true); var_dump($result); $result = array_slice($arr,1,-1,true); var_dump($result); ?>
array_splice($array,$start,$length)
können wir das Array-Fragment der angegebenen Länge ($length-Wert) abfangen. <strong>Denken Sie daran, dass die Funktion array_splice() das ursprüngliche Array ändert! </strong>🎜🎜Da die Löschfunktion der Funktion array_splice() im vorherigen Artikel ausführlich beschrieben wurde, werde ich sie hier nicht im Detail vorstellen. Wenn Sie es nicht verstehen, können Sie „🎜PHP Array Learning“ lesen : So entfernen Sie alle Elemente🎜". Als nächstes lernen wir die zweite Methode zum Abfangen eines Arrays kennen! 🎜🎜<span style="max-width:90%"><strong>Methode 2: Funktion array_slice() verwenden</strong></span>🎜🎜array_slice() ist eine von PHP bereitgestellte Funktion zum Abfangen von Arrays Extrahiert ein Fragment aus einem Array. Werfen wir einen Blick auf die Funktion array_slice(): 🎜rrreee🎜Diese Funktion unterstützt zwei erforderliche Parameter: <code>$array
und $start
, zwei optionale Parameter $length und <code>$preserve
. $array
muss nicht eingeführt werden. Der Parameter $start
wird verwendet, um die Position (Index) anzugeben, an der das Abfangen beginnen soll Parameter $length
stellt die Abfanglänge dar (wenn er weggelassen wird, wird er vom angegebenen Index bis zum Ende des Arrays abgefangen). 🎜rrreee🎜Das Ausgabeergebnis ist: 🎜🎜🎜🎜Es ist ersichtlich, dass die Funktion array_slice() und die Funktion array_splice() ähnliche Funktionen haben, wenn es um das Abfangen von Array-Operationen geht; die Funktionarray_slice() ändert jedoch nicht das ursprüngliche Array! 🎜🎜Der Parameter $start
hat drei Werte:-start
am Ende von $array (d. h. von der rechten Seite des Arrays bis zum). links entsprechend dem Absolutwert), vom hinteren zum vorderen Achsenabschnitt. Beispielsweise bedeutet -2
, dass mit dem vorletzten Element des Arrays begonnen wird. 🎜$length
hat auch drei Werte: 🎜$preserve
gibt an, ob der ursprüngliche Schlüsselname beibehalten werden soll. Der Standardwert ist false, das heißt, er wird nicht beibehalten; Wenn der Wert auf „true“ gesetzt ist, wird der ursprüngliche Schlüsselname beibehalten. Einige Schlüsselnamen. 🎜rrreee🎜Das Ausgabeergebnis ist: 🎜🎜🎜🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜🎜Abschließend empfehle ich ein kostenloses Video-Tutorial zu PHP-Arrays: 🎜PHP-Funktions-Array-Array-Funktions-Video-Erklärung🎜, kommen Sie und lernen Sie! 🎜Das obige ist der detaillierte Inhalt vonPHP-Array-Lernen: Wie man Elementfragmente abfängt (auf zwei Arten). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!