이전 글 "PHP 배열 학습: 요소 제거 방법"에서는 array_splice()
함수를 사용하여 하나 이상의 배열 요소를 삭제하는 방법을 소개했습니다. 이번에는 PHP 배열에 대한 연구를 계속하고 배열을 가로채서 일부 요소를 얻는 방법을 소개합니다. 관심 있는 친구들은 그것에 대해 배울 수 있습니다~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
예, 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_slice($arr,1,1,true); var_dump($result); $result = array_slice($arr,1,-1,true); var_dump($result); ?>
array_splice($array,$start,$length)
함수를 사용하면 배열 첨자($start의 값)를 기반으로 지정된 길이(<code>$length) /code> value) 배열 조각. <strong>array_splice() 함수는 원래 배열을 변경한다는 점을 기억하세요! </strong>🎜🎜array_splice() 함수의 삭제 기능은 이전 글에서 자세히 설명했기 때문에 여기서는 자세히 소개하지 않겠습니다. 이해가 안 되시면 "🎜PHP Array Learning"을 읽어보시면 됩니다. : 요소를 제거하는 방법🎜". 다음으로 배열을 가로채는 두 번째 방법에 대해 알아봅니다! 🎜🎜<span style="max-width:90%"><strong>방법 2: array_slice() 함수 사용</strong></span>🎜🎜array_slice() 함수는 배열을 가로채기 위해 PHP에서 제공하는 함수입니다. 배열에서 조각을 추출합니다. array_slice() 함수를 살펴보겠습니다. 🎜rrreee🎜이 함수는 2개의 필수 매개변수인 <code>$array
및 $start
와 2개의 선택적 매개변수 $length 및 <code>$preserve
. $array
매개변수는 도입할 필요가 없습니다. $start
매개변수는 차단을 시작할 위치(아래 첨자)를 지정하는 데 사용되며, 매개변수 $length
는 차단 길이를 나타냅니다(생략된 경우 지정된 첨자부터 배열 끝까지 차단됩니다). 🎜rrreee🎜출력 결과는 다음과 같습니다. 🎜🎜🎜🎜array_slice() 함수와 array_splice() 함수는 배열 작업을 가로채는 것과 비슷한 기능을 가지고 있음을 알 수 있지만,array_slice() 함수는 원래 배열을 변경하지 않습니다! 🎜🎜매개변수 $start
에는 세 가지 값이 있습니다.-start
위치부터 시작합니다(즉, 배열의 오른쪽에서 왼쪽으로 위치 지정). 절대값에 따라) 뒤에서 앞으로 절편합니다. 예를 들어, -2
는 배열의 두 번째 요소부터 마지막 요소까지 시작한다는 의미입니다. 🎜$length
매개변수에는 세 가지 값도 있습니다: 🎜$preserve
는 원래 키 이름을 유지할지 여부를 나타냅니다. 기본값은 false이며, 이는 유지되지 않음을 의미합니다. true로 설정하면 원래 키 이름이 유지됩니다. 🎜rrreee🎜출력 결과는 다음과 같습니다. 🎜🎜🎜🎜🎜그렇습니다. 다른 내용을 알고 싶다면 여기를 클릭하세요. → →🎜php 동영상 튜토리얼🎜🎜🎜마지막으로 PHP 배열에 대한 무료 동영상 튜토리얼을 추천합니다: 🎜PHP 함수 배열 배열 함수 동영상 설명🎜, 와서 배워보세요! 🎜위 내용은 요소 조각을 가로채는 방법을 학습하는 PHP 배열(두 가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!