兩種刪除方法:1、使用array_shift()函數刪除陣列的第一個值,語法“array_shift($arr)”,會傳回被刪除的元素。 2.使用array_splice()函數刪除第一個值,語法「array_splice($arr,0,1);」;函數的第二個和第三個參數可以為負數。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
php去掉陣列第一個值的兩種方法
方法1:使用array_shift() 函數刪除
array_shift() 函數用於刪除數組中的第一個元素,並傳回被刪除的元素。
array_shift($arr)
array_shift()函數在刪除$arr陣列的開頭的第一個元素後,arr 陣列的長度會減少 1,並將所有其他元素向前移動。如果鍵名是數字的,所有元素都將獲得新的鍵名,從 0 開始,並以 1 遞增;但字串鍵名將保持不變。
註:函數會改變原數組
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); array_shift($arr); echo "删除后的数组:" ; var_dump($arr); ?>
#可以看到這個例子,我們原來的$arr數組裡面有5個元素,使用array_shift($arr)方法之後,重新使用var_dump($arr)輸出數組,發現只有4個元素了,數組頭部元素被刪除了。
方法2:使用array_splice()函數刪除
array_splice()函數是一個強大的函數,有多重功能:可以插入陣列元素、可以替換陣列元素,當然也可以刪除陣列元素(畢竟array_splice()函數的本職工作是刪除指定元素並用其它值取代)。下面我們就來看看它的刪除功能。
我們來看下面一個小例子。
<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "删除后的数组:" ; array_splice($arr,0,1); var_dump($arr); ?>
輸出結果為:
可以看出,我們使用array_splice($arr,0,1)
從$arr陣列的第1個元素開始刪除元素,刪除1個元素。 array_splice($arr,$start,$length)
會刪除從$start位置開始刪除$length個元素。
$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); echo "删除后的数组:" ; array_splice($arr,-2); var_dump($arr); ?>
輸出結果為:
#<?php header("Content-type:text/html;charset=utf-8"); $arr=array(10,12,20,25,24); echo "原数组:"; var_dump($arr); echo "删除后的数组:" ; array_splice($arr,2,2); var_dump($arr); ?>
輸出結果為:
在刪除元素運算中,$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); echo "删除后的数组:" ; array_splice($arr,2,-1); var_dump($arr); ?>
輸出結果為:
#$length
參數還可以為0,那就表示不刪除元素,可以和函數的第四個參數$value相配合,進行插入操作(這裡就不做具體介紹了)。
推薦學習:《PHP影片教學》
以上是php怎麼去掉陣列的第一個值的詳細內容。更多資訊請關注PHP中文網其他相關文章!