在之前的文章《怎麼解決PHP中數組的排序與打亂問題? 》中詳細的介紹了PHP中數組排序的相關知識,這篇文章我們來看看PHP中刪除數組頭部或尾部元素操作的相關知識,希望對大家有幫助!
在上一篇文章中我們了解了想要將多個陣列進行排序可以使用array_multisort
函數,想要將陣列內的元素進行打亂的話可以使用shuffle
函數來實現,這些都是數組操作中比較常見的操作,下面我們來看一下在PHP中怎樣才能完成刪除數組中的第一個元素或者刪除數組中的最後一個元素。
在PHP中內建了array_shif
函數來刪除數組中的第一個元素,還有array_pop
函數用來刪除數組中的最後一個元素,下面我們就分別來看這兩種函數的用法。雖然都是刪除元素,這兩個函數不同於unset
函數和array_splice
函數,本介紹的兩種函數不需要知道陣列元素的鍵值和鍵名。
<strong><span style="font-size: 20px;">array_shif</span></strong>
#函數-刪除陣列第一個元素
在PHP中可以透過array_shif
函數來對陣列元素進行刪除第一個的操作,array_shif
函數的基本語法格式如下:
array_shift(array)
其中需要注意的是:
參數array
表示的就是需要進行刪除操作的數組,函數在執行成功後傳回的結果是刪除元素的值,如果函數執行不成功則傳回的結果是NULL
。如果數組中的鍵名是數字的話,透過函數刪除元素之後鍵名會重新進行分配,從0
#開始後面是1
以此類推。
下面我們透過範例來看一下array_shift
函數的使用,範例如下:
<?php $num = array(10, 45, 9, 100, 6); array_shift($num); //删除数组开头的第一个元素 print_r($num); ?>
輸出結果:
##在上述範例中,透過
array_shift函數刪除了陣列元素中的第一個元素,下面我們來看看如果陣列中的鍵名是數字會對輸出結果有什麼影響,範例如下:
<?php $num = array(10, 45, 9, 100, 6); array_shift($num); //删除数组开头的第一个元素 print_r($num); echo '<br/>'; $num1 = array(12=>10, 15=>45, 18=>9, 20=>100, 22=>6); array_shift($num1); //删除数组开头的第一个元素 print_r($num1); ?>
array_shift函數來刪除第一個陣列元素的時候會重新從
0開始指派鍵名。
array_shift函數來刪除數組中的第一個元素,那下面我們來看看怎麼透過
array_pop函數來刪除數組元素中的最後一個元素。
<strong>array_pop<span style="max-width:90%"></span></strong>
#函數-刪除最後一個元素##在PHP中與
函數類似的是,我們可以透過array_pop
函數來刪除陣列元素中的最後一個元素,array_pop
函數的基本語法格式如下: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">array_pop(array)</pre><div class="contentsignin">登入後複製</div></div>
其中需要注意的是:
參數
就是需要進行刪除操作的數組,函數執行成功的話返回的結果就是被刪除的元素,如果數組為空或參數不是數組,那麼傳回的結果就是NULL
。 下面我們透過範例來看
函數的使用,範例如下:
<?php $num = array(10, 45, 9, 100, 6); array_pop($num); //删除数组最后的一个元素 print_r($num); ?>
上述範例便是透過
array_pop函數來刪除陣列中的最後一個元素,在透過
函數刪除第一個元素的時候我們了解到,當數組的鍵名是數字的時候,鍵名會重新分配,那麼當我們使用array_pop
函數來對數組進行刪除最後一個元素操作的時候,如果數組中元素的鍵名是數字的話,鍵名會被重新分配嗎? 我們我們透過範例來驗證一下,看看
函數會不會對數字鍵名稱產生影響,範例如下:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><?php
$num = array(10, 45, 9, 100, 6);
array_pop($num); //删除数组最后的一个元素
print_r($num);
echo &#39;<br/>&#39;;
$num1 = array(12=>10, 15=>45, 18=>9, 20=>100, 22=>6);
array_pop($num1); //删除数组最后的一个元素
print_r($num1);
?></pre><div class="contentsignin">登入後複製</div></div>輸出結果: <p><br></p>
<p></p>
<p>透過上述範例能夠發現,透過<code>array_pop
函數刪除陣列中的最後一個元素,並不會像array_shif
函數一樣遇到數字為鍵名的時候會重新分配鍵名。 array_pop
函數不會重新指派鍵名。
大家如果有興趣的話,可以點選《PHP影片教學》進行更多關於PHP知識的學習。
以上是PHP數組操作如何刪除數組中的首尾元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!