>백엔드 개발 >PHP 문제 >배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?

배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?

青灯夜游
青灯夜游원래의
2022-09-29 20:04:253200검색

그렇습니다. 3가지 구현 방법: 1. array_shift()를 사용하여 첫 번째 요소를 삭제하고 반환합니다. 구문은 "array_shift(array)"입니다. 2. array_pop()을 사용하여 마지막 요소를 삭제하고 반환합니다. 구문은 "array_pop(array)입니다. 3. array_splice()를 사용하면 지정된 위치부터 지정된 개수의 요소를 삭제하고 제거된 요소를 배열 형태로 반환합니다. 구문은 "array_splice(배열, 시작 위치, 삭제된 요소 수)"입니다.

배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?

이 튜토리얼의 운영 환경: 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);
?>

배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?

이 예제를 볼 수 있습니다. 원래 $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_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);
?>
배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?

방법 3: array_splice() 함수 사용


array_splice()는 여러 기능을 갖춘 강력한 함수입니다. 배열 요소를 삽입할 수 있고, 배열 요소를 교체할 수 있습니다. 배열 요소를 삭제할 수 있습니다(결국 array_splice() 함수의 작업은 지정된 요소를 삭제하고 다른 값으로 바꾸는 것입니다). 삭제 기능을 살펴보겠습니다.

제거 구문:
array_splice(array,start,length)
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);
?>

输出结果为:

배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?

可以看出,我们使用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);
?>

输出结果为:

배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?

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);
?>

输出结果为:

배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?

可以看出只删除了第三个元素“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);
?>

输出结果为:

배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?

注:$length参数还可以为0,那么就表示不删除元素,可以和该函数的第四个参数$value相配合,进行插入操作(这里就不做具体介绍了)。

推荐学习:《PHP视频教程

위 내용은 배열의 값을 가져와서 PHP에서 제거하는 것이 가능합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.