1. 程式人生 > >PHP刪除陣列中指定下標的元素

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開始的順序下標,即使你的索引不是以數字命名的,也會被重新建立索引。