2013-10-28 72 views
0

我有幾個會話數組,我恰好從中刪除特定索引。例如,我有一個名爲$_SESSION['products']的會話,此會話具有以下元素:$_SESSION['products'][0],$_SESSION['products'][1]$_SESSION['products'][2]PHP特定數組組織功能

我想刪除這些變量中的任何一個,問題是當你刪除第二個變量時,你搞亂了數組,使它無法顯示在for循環中。有沒有辦法重新排列以下內容:$_SESSION['products'][0]$_SESSION['products'][2]$_SESSION['products'][0]$_SESSION['products'][1]與PHP內置函數?如果不是,這甚至有可能嗎?

+0

'不能用於loop'庵顯示在,是的,它可以。 'foreach($ _ SESSION ['products']作爲$ product)'將跳過缺失的鍵。 – Izkata

+0

@Izkata:'foreach!= for' – geomagas

回答

1

你可以array_values實現這一目標:

unset($_SESSION['products'][2]); // assuming the product key 
           // exist in product array sess 


$_SESSION['products'] = array_values($_SESSION['products']); 

Manual

array_values() returns all the values from the array and **indexes the array numerically.**

+0

非常有效,非常感謝!我不知道這個功能存在!謝謝你讓我的一天。 :) – Tigerman55

+0

我很高興我能幫上忙。 –