Удалить несколько элементов из массива и переиндексировать

Могу ли я удалить первые три элемента и все остальные, где value не равно 2? Язык php.

print_r($array)

выходы

Array (
[0] => Array ( [name] => aa [value] => 0 )
[1] => Array ( [name] => db [value] => 1 )
[2] => Array ( [name] => bc [value] => 2 )
[3] => Array ( [name] => ba [value] => 3 )
[4] => Array ( [name] => ba [value] => 0 )
[5] => Array ( [name] => bc [value] => 1 )
[6] => Array ( [name] => aa [value] => 2 )
[7] => Array ( [name] => cb [value] => 3 )
[8] => Array ( [name] => ca [value] => 0 )
[9] => Array ( [name] => dc [value] => 1 )
[10] => Array ( [name] => db [value] => 2 )
[11] => Array ( [name] => aa [value] => 3 )
[12] => Array ( [name] => dd [value] => 0 )
[13] => Array ( [name] => db [value] => 1 )
[14] => Array ( [name] => bb [value] => 2 )
[15] => Array ( [name] => ac [value] => 3 )
)

Мне также нужно переиндексировать, чтобы он начинался с 0

Array (
[0] => Array ( [name] => aa [value] => 2 )
[1] => Array ( [name] => db [value] => 2 )
[2] => Array ( [name] => bb [value] => 2 )
)

0

Решение

Вы можете сделать это следующим образом:

$new_array = array();

foreach ($array as $k => $v) {
if ($k > 2 and $v['value'] != 2)
$new_array[] = $v;
}

print_r($new_array);
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]