我有這樣的陣列:PHP - 刪除元件在多維數組
Array (
[0] => Array ([0] => b [1] => d [2] => **c** [3] =>a [4] =>)
[1] => Array ([0] => **c** [1] => a [2] => d [3] => [4] =>)
[2] => Array ([0] => b [1] => d [2] => a [3] => [4] =>)
[3] => Array ([0] => **c** [1] => d [2] => a [3] =>b [4] =>)
)
和需要刪除(未設置?)的所有元素,其中值是「c」,使得一個與結束:
Array (
[0] => Array (**[0] => b [1] => d [2] => a [3] => [4] =>**)
[1] => Array (**[0] => a [1] => d [2] => [3] =>**)
[2] => Array ([0] => b [1] => d [2] => a [3] => [4] =>)
[3] => Array (**[0] => d [1] => a [2] =>b [3] =>**)
)
元素被刪除,其他元素向上移動。我知道unset不會重新索引數組。無法取消設置所有多維數組,但只能使用一個數組。之後數組可以重新索引嗎?欣賞它。
代碼BELOW刪除值等於「c」的元素,但第一個元素的索引沒有重新編制索引。任何人都可以建議一個解決方案重新索引內部數組?
$i=0;
foreach ($array as $val)
{
foreach ($val as $key => $final_val)
{
if ($final_val =="$search_value")
{
unset($array[$i][$key]);
}
}
i = $i + 1;
}
你期望數組的維數是多少?一般來說,它不會是一個矩形。如果你真的關心這些是2D的,並且一些元素是「一次」的話,你可能需要研究**稀疏數組**的概念(儘管稀疏數組「已經消失」實際上意味着「零」)。你能否將它們設置爲NaN?你真的在追求什麼?... – Floris
弗洛里斯 - 不確定你的意思。我正在尋找一個簡單的刪除任何有一定價值的元素。 – FartMachine4U