天天看點

PHP删除數組中指定下标的元素

1、前面有講數組作為堆棧和隊列時的删除元素操作,即按順序有規律的進行删除。那麼,如果需要從數組的中間位置删除某個元素該如何操作呢?就需要我們今天要講的unset()函數了。

2、unset()函數允許取消一個數組中的元素,但數組并不會重建索引,即保持原有索引,因為php中的索引具有特殊的含義。

3、示例展示:

<?php
    $arr = array(1=>'one',2=>'two',3=>'three');
     
    //删除下标為2的元素
   unset($arr[2]);  //将得到Array(1=>'one',3=>'three')

    //使用array_values()重建立立索引
    $aar = array_values($arr);  //$aar = array(0=>'one',1=>'three')
?>
           

4、上面例子中最後一句代碼為重建立立數組索引,在這裡我解釋以下:因為使用unset()函數删除一個元素以後,并沒有重建立立索引下标順序。如果需要有順序的索引下标,可以使用array_values()函數重新建立索引下标順序。

注意:該處所說的重建立立索引是指:重建立立一個以0開始的順序下标,即使你的索引不是以數字命名的,也會被重建立立索引。