>  기사  >  백엔드 개발  >  PHP에서 배열의 요소를 삭제하는 방법에 대한 사용법 요약

PHP에서 배열의 요소를 삭제하는 방법에 대한 사용법 요약

伊谢尔伦
伊谢尔伦원래의
2017-06-24 10:04:251579검색

배열에서 $tmp 요소의 값을 제거하세요

<?php
$tmp = &#39;324&#39;;
$arr = array(&#39;0&#39; => &#39;321&#39;,&#39;1&#39; => &#39;322&#39;,&#39;2&#39; => &#39;323&#39;,&#39;3&#39; => &#39;324&#39;,&#39;4&#39; => &#39;325&#39;,&#39;5&#39; => &#39;326&#39;,
);

Code

<?php
foreach( $arr as $k=>$v) {
    if($tmp == $v) unset($arr[$k]);
}
print_r($arr);
?>

이때

Array(
    [0] => 321
    [1] => 322
    [2] => 323
    [4] => 325
    [5] => 326
)

인덱스를 재설정하려면 문장을 추가하세요

<?php
foreach( $arr as $k=>$v) {
    if($tmp == $v) unset($arr[$k]);
}
$arr = array_values($arr);
print_r($arr);
?>

이때 결과는

Array(
    [0] => 321
    [1] => 322
    [2] => 323
    [3] => 325
    [4] => 326
)

array_merge ()도 사용할 수 있습니다. 동일한 효과를 얻습니다

<?php
foreach( $arr as $k=>$v) {
    if($tmp == $v) unset($arr[$k]);
}
$arr = array_merge($arr);
print_r($arr);
?>

이번 결과는

Array(
    [0] => 321
    [1] => 322
    [2] => 323
    [3] => 325
    [4] => 326
)

2. PHP에 포함된 함수를 우선적으로 사용하세요. C로 구현되어 있고 직접 작성하는 것보다 효율적이기 때문입니다.

  1. array_searcharray_splice를 사용하세요. 여기서 array_splice는 자동으로 시퀀스 값을 재설정합니다.

$key=array_search($tmp ,$arr);
array_splice($arr,$key,1);
var_dump($arr);

이번 결과

Array(
    [0] => 321
    [1] => 322
    [2] => 323
    [3] => 325
    [4] => 326
)
  1. Best practice

$arr = array_merge(array_diff($arr, array($tmp)));
var_dump($arr);

Result

Array(
    [0] => 321
    [1] => 322
    [2] => 323
    [3] => 325
    [4] => 326
)

여기서 배열요소가 복잡한 자료구조라면 비교도 가능하다. 물론 데이터 자체는 여전히 1차원적입니다.
위 예시에서 $tmp는 값입니다. $tmp가 배열이거나 기타 복잡한 데이터 구조인 경우 $array에서 $tmp에 포함된 모든 요소를 ​​삭제하세요.

위 내용은 PHP에서 배열의 요소를 삭제하는 방법에 대한 사용법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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