我有这样的阵列: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