PHP 배열에서 요소를 삭제한 후 어떻게 다시 색인을 생성하나요?

WBOY
풀어 주다: 2016-07-25 08:52:25
원래의
1140명이 탐색했습니다.
  1. $arr = array('a','b','c','d');
  2. unset($arr[1]);
  3. print_r($arr);
  4. ?>
复制代码

print_r($arr)之后,结果却不是那样的,最终结果是 Array ( [0] => a [2] => c [3] => d )

如何让缺少的元素会被填补并且数组会被重新索引?

使用array_splice():

  1. $arr = array('a','b','c','d');
  2. array_splice($arr,1,1);
  3. print_r($arr);
  4. ?>
  5. print_r($arr)之后,结果是A(bbs.it-home.org)rray ( [0] => a [1] => c [2] => d )
复制代码

2,删除数组指定元素 array_search()比较实用 array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false

  1. $array = array('1', '2', '3', '4', '5');
  2. $del_value = 3;
  3. unset($array[array_search($del_value , $array)]);//利用unset删除这个元素
  4. print_r($array);
复制代码

输出 array('1', '2', '4', '5'); 如果要重新索引数组,需要利用foreach遍历删除的数组之后重新建立一个数组。



원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿