2015-07-02 33 views
0

我需要先在PHP中反轉數組,然後刪除最後一個值。我想這並沒有給我想要的結果:反向並使用array_pop/array_reverse刪除數組的最後一個值

<?php if(count($this->methods)==2) array_pop(array_reverse($this->methods)); ?> 

或者,如果簡單,我怎麼只刪除一個數組的第一個值?我以前試過array_shift,但是這樣會改變數組而不刪除一個值。

+0

*如果(計數($這個 - >方法)== 2) *數組中有2個項目。以你需要'$ this-> methods [0]'或'$ this-> methods [1]' – splash58

+0

所以基本上我試圖使用邏輯,如果有兩種方法可用,只能使用方法#2。希望有幫助 –

+0

在這種情況下,爲什麼你不使用array_pop的返回值? – Devon

回答

0

array_pop使用參考(注意& $ array)。因此,在將它傳遞給array_pop之前,您需要使用一個變量來存儲反轉的數組。


根據您的意見,你可以,如果你想獲得最後一個元素的值,無需扭轉陣列使用array_pop的返回值。

0

要刪除數組的第一個值使用array_shift()

if(count($this->methods)==2) array_shift($this->methods)); 

如果你想存儲它:

$first = array_shift($this->methods); 
相關問題