我有一个数组:
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] => )
)
需要删除(unset?)所有值为“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不会重新索引数组。无法为所有多维数组取消设置,只能使用一个数组。之后,这些数组可以重新索引吗?谢谢。
以下代码删除值等于“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;
}