我有一個三維陣列,看起來像這樣PHP如何取消設置多維數組的成員?
Array(
[Group 1] => Array
(
[0] => Array
(
[category] => Group1
[firstname] => John
[lastname] => Johns
[image] => /mysite.etc/jj.jpg
)
[1] => Array
(
[category] => Group1
[firstname] => John
[lastname] => James
[image] => /mysite.etc/jj2.jpg
)
)
[Group 2] => Array
(
[0] => Array
(
[category] => Group2
[firstname] => John
[lastname] => Jackson
[image] => NULL
)
[1] => Array
(
[category] => Group2
[firstname] => John
[lastname] => Jimson
[image] => /mysite.etc/jj4.jpg
)
)...etc)
我通過數組試圖環和刪除任何people
(即數組的第二級)沒有在[image]
值誰細胞。
我已經試過
foreach($MyArray as $Key=>&$group){
foreach($group as &$staff){
if(!file_exists($staff['image'])){
unset($staff);
}
}
}
但這並不沒有圖像刪除數組項。該循環正確地識別沒有圖像的員工,就好像我包含了一些代碼以將它們回顯到頁面上一樣,這是有效的。這只是不會從$MyArray
陣列中解除它們。
任何人都可以幫助我實現這個目標嗎?
$人員是臨時變量。此代碼不會影響OP正在嘗試執行的原始數組。請看下面的Jason Yang的回答。 – Maximus2012
你是對的。我更新我的答案。 – Aris
Maximus2012 - 沒有將變量定義爲&$ staff(使用&符號)使其成爲對原始對象的引用,而不是臨時副本? – Ambulare