PHP - usuń element w tablicy wielowymiarowej

Mam tę tablicę:

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] => )

)

i trzeba usunąć (odznaczyć?) wszystkie elementy, w których wartość to „c”, aby otrzymać:

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] =>** )

)

Element zostanie usunięty, a pozostałe elementy zostaną przesunięte w górę. Wiem, że unset nie powoduje ponownego indeksowania tablicy. Nie można uzyskać rozbrojenia dla wszystkich tablic wielowymiarowych, ale tylko z jedną tablicą. Czy macierze mogą być ponownie indeksowane? Doceniam to.

Kod BELOW usuwa elementy, których wartość jest równa „c”, ale indeks pierwszego elementu nie jest ponownie indeksowany. Czy ktoś może zasugerować rozwiązanie ponownego indeksowania wewnętrznych tablic?

$i=0;
foreach ($array as $val)
    {
    foreach ($val as $key => $final_val)
        { 

        if ($final_val =="$search_value") 
            {
             unset($array[$i][$key]);
            }
        } 
    i = $i + 1;
    }

questionAnswers(2)

yourAnswerToTheQuestion