我需要先在PHP中反轉數組,然後刪除最後一個值。我想這並沒有給我想要的結果:反向並使用array_pop/array_reverse刪除數組的最後一個值
<?php if(count($this->methods)==2) array_pop(array_reverse($this->methods)); ?>
或者,如果簡單,我怎麼只刪除一個數組的第一個值?我以前試過array_shift
,但是這樣會改變數組而不刪除一個值。
我需要先在PHP中反轉數組,然後刪除最後一個值。我想這並沒有給我想要的結果:反向並使用array_pop/array_reverse刪除數組的最後一個值
<?php if(count($this->methods)==2) array_pop(array_reverse($this->methods)); ?>
或者,如果簡單,我怎麼只刪除一個數組的第一個值?我以前試過array_shift
,但是這樣會改變數組而不刪除一個值。
array_pop使用參考(注意& $ array)。因此,在將它傳遞給array_pop之前,您需要使用一個變量來存儲反轉的數組。
根據您的意見,你可以,如果你想獲得最後一個元素的值,無需扭轉陣列使用array_pop的返回值。
要刪除數組的第一個值使用array_shift()
:
if(count($this->methods)==2) array_shift($this->methods));
如果你想存儲它:
$first = array_shift($this->methods);
*如果(計數($這個 - >方法)== 2) *數組中有2個項目。以你需要'$ this-> methods [0]'或'$ this-> methods [1]' – splash58
所以基本上我試圖使用邏輯,如果有兩種方法可用,只能使用方法#2。希望有幫助 –
在這種情況下,爲什麼你不使用array_pop的返回值? – Devon