그렇습니다. 3가지 구현 방법: 1. array_shift()를 사용하여 첫 번째 요소를 삭제하고 반환합니다. 구문은 "array_shift(array)"입니다. 2. array_pop()을 사용하여 마지막 요소를 삭제하고 반환합니다. 구문은 "array_pop(array)입니다. 3. array_splice()를 사용하면 지정된 위치부터 지정된 개수의 요소를 삭제하고 제거된 요소를 배열 형태로 반환합니다. 구문은 "array_splice(배열, 시작 위치, 삭제된 요소 수)"입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터
PHP 배열에서 지정된 값을 가져오고 원래 배열에서 삭제할 수 있습니다.
방법 1: array_shift() 함수 사용
array_shift() 함수는 배열의 첫 번째 요소를 삭제하고 삭제된 요소를 반환하는 데 사용됩니다. (array_shift()는 원래 배열을 변경합니다.)
array_shift(array)
예:
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); $r=array_shift($arr); echo "第一个元素 $r <br><br>"; echo "获取元素后的:" ; var_dump($arr); ?>
이 예제를 볼 수 있습니다. 원래 $arr 배열에는 array_shift($arr ) 메서드에서 다시 <code>var_dump($arr)
를 사용하여 배열을 출력해 보면 요소가 4개만 있고 배열의 선두 요소가 삭제된 것을 확인할 수 있습니다. array_shift($arr)
方法之后,重新使用var_dump($arr)
输出数组,发现只有4个元素了,数组头部元素被删除了。
array_shift()
array_shift()
함수가 $arr 배열의 시작 부분에 있는 첫 번째 요소를 삭제한 후에는 arr 배열의 길이가 1만큼 줄어들고 다른 모든 요소는 하나씩 앞으로 이동합니다. 키가 숫자인 경우 모든 요소는 0에서 시작하여 1씩 증가하는 새 키를 갖지만 문자열 키는 변경되지 않습니다. 방법 2: array_pop() 함수 사용
array_pop(array)참고: 배열이 비어 있거나 배열이 아닌 경우 NULL이 반환됩니다. 예:
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); $r=array_pop($arr); echo "最后一个元素 $r <br><br>"; echo "获取元素后的:" ; var_dump($arr); ?>
방법 3: array_splice() 함수 사용
array_splice()는 여러 기능을 갖춘 강력한 함수입니다. 배열 요소를 삽입할 수 있고, 배열 요소를 교체할 수 있습니다. 배열 요소를 삭제할 수 있습니다(결국 array_splice() 함수의 작업은 지정된 요소를 삭제하고 다른 값으로 바꾸는 것입니다). 삭제 기능을 살펴보겠습니다.
Parameter | Description |
---|---|
array | 필수입니다. 배열을 지정합니다. |
start |
필수입니다. 수치. 삭제된 요소의 시작 위치를 지정합니다. |
길이 |
선택사항. 수치. 제거할 요소 수를 지정합니다. 이는 반환된 배열의 길이이기도 합니다. |
array_splice()函数会改变原数组,并以数组形式返回被移除元素。
我们来看下面一个小例子。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); $r=array_splice($arr,2); echo "删除的元素 "; var_dump($r); echo "删除后的数组:" ; var_dump($arr); ?>
输出结果为:
可以看出,我们使用array_splice($arr,2)
从$arr数组的第3个元素开始删除元素,共删除了3个元素(将从第3个元素开始的所有元素删除了)。array_splice($arr,$start)
会删除从$start位置开始的所有元素删除,并以数组的形式返回被删除的元素。
$start参数有三种取值情况:
为正数,那么从$start位置开始,往后删除;
为0,那么从第一个元素开始,往后删除;
为负数,则从距离 $arr 末端 -start 的位置开始,从后往前删除。例如 -2 意味着从数组的倒数第二个元素开始。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); $r=array_splice($arr,-2); echo "删除的元素 "; var_dump($r); echo "删除后的数组:" ; var_dump($arr); ?>
输出结果为:
array_splice()函数是强大的,可以删除多个元素,也可只删除一个元素,那就需要给该函数指定一个$length
参数(第三个参数),该参数用来规定删除的元素个数。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); $r=array_splice($arr,2,1); echo "删除的元素 "; var_dump($r); echo "删除后的数组:" ; var_dump($arr); ?>
输出结果为:
可以看出只删除了第三个元素“20”。
在删除元素操作中,$length参数也有三种取值情况:
为正数,那么就表示删除 length 个元素;
为负数,那么将删除从 start 开始,到数组末尾倒数 length 为止的所有元素;
如果省略,那么将删除从 start 开始,一直到数组末尾的所有元素。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); $r=array_splice($arr,2,-1); echo "删除的元素 "; var_dump($r); echo "删除后的数组:" ; var_dump($arr); ?>
输出结果为:
注:$length
参数还可以为0,那么就表示不删除元素,可以和该函数的第四个参数$value相配合,进行插入操作(这里就不做具体介绍了)。
推荐学习:《PHP视频教程》
위 내용은 배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!