首頁  >  文章  >  後端開發  >  php怎麼去掉陣列的第一個值

php怎麼去掉陣列的第一個值

青灯夜游
青灯夜游原創
2022-09-06 19:36:242905瀏覽

兩種刪除方法:1、使用array_shift()函數刪除陣列的第一個值,語法“array_shift($arr)”,會傳回被刪除的元素。 2.使用array_splice()函數刪除第一個值,語法「array_splice($arr,0,1);」;函數的第二個和第三個參數可以為負數。

php怎麼去掉陣列的第一個值

本教學操作環境: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);
?>

php怎麼去掉陣列的第一個值

#可以看到這個例子,我們原來的$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);
?>

輸出結果為:

php怎麼去掉陣列的第一個值

可以看出,我們使用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怎麼去掉陣列的第一個值

#
<?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);
?>

輸出結果為:

php怎麼去掉陣列的第一個值

在刪除元素運算中,$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);
?>

輸出結果為:

php怎麼去掉陣列的第一個值

#$length參數還可以為0,那就表示不刪除元素,可以和函數的第四個參數$value相配合,進行插入操作(這裡就不做具體介紹了)。

推薦學習:《PHP影片教學

以上是php怎麼去掉陣列的第一個值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn