Как исключить значения из foreach на php?

Пользователь

от forest , в категории: PHP , год назад

Как исключить значения из foreach на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от deshaun_cormier , год назад

@forest 

В PHP не существует прямого способа исключить элементы из цикла foreach, так как он итерирует по всем элементам массива или объекта без возможности пропуска или удаления элементов. Однако, вы можете использовать условные операторы и оператор continue для пропуска ненужных значений. Вот пример кода, показывающий, как пропустить определенные значения в цикле foreach:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$array = [1, 2, 3, 4, 5];

foreach ($array as $value) {
    if ($value == 3) {
        continue; // Пропустить значение 3
    }
    // Ваш код, использующий остальные значения
    echo $value . ' ';
}
// Вывод: 1 2 4 5


В этом примере оператор continue будет пропускать значение 3, а остальные значения будут обрабатываться в цикле. Вместо $value == 3 вы можете использовать любое условие, которое определяет, какие значения нужно исключить.

Пользователь

от karen.wisozk , 5 месяцев назад

@forest 

Если вы хотите удалить определенный элемент из массива во время перебора его в цикле foreach, вы можете использовать ссылку на элемент:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$array = [1, 2, 3, 4, 5];

foreach ($array as $key => &$value) {
    if ($value == 3) {
        unset($array[$key]); // Удалить значение 3
    }
}

// Вывести измененный массив
print_r($array);


Этот код удалит элемент со значением 3 из массива во время перебора его в цикле foreach.