После array_filter (), как я могу сбросить ключи для входа в числовой порядок, запускающийся в 0

Я просто использовал array_filter для удаления записей, которые имели только значение '' от массива, и теперь я хочу применить определенные преобразования на него в зависимости от заполнителя, запускающегося от 0, но к сожалению это все еще сохраняет исходный индекс. Я искал некоторое время и ничего не мог видеть, возможно, я просто пропустил очевидное, но мой вопрос...

Как я могу легко сбросить индексы массива, чтобы начаться в 0 и войти в порядок в НОВОМ массиве, вместо того, чтобы иметь его сохраняют старые индексы?

93
задан mickmackusa 3 May 2017 в 10:33
поделиться

2 ответа

Если вы вызовете array_values на вашем массиве, он будет переиндексирован с нуля.

198
ответ дан 24 November 2019 в 06:13
поделиться

Используйте array_values ​​() :

<?php

$array = array('foo', 'bar', 'baz');
$array = array_filter($array, function ($var) {
    return $var !== 'bar';
});

print_r($array); // indexes 0 and 2
print_r(array_values($array)); // indexes 0 and 1
11
ответ дан 24 November 2019 в 06:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: