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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от evalyn.barrows , 2 года назад

@kaleigh 

Для исключения значений из цикла foreach в PHP можно использовать условный оператор if. Например, если вы хотите исключить определенное значение из массива, вы можете использовать следующий код:

1
2
3
4
5
6
7
8
$array = array(1, 2, 3, 4, 5);

foreach ($array as $value) {
  if ($value == 3) {
    continue; // Исключить значение 3 из цикла
  }
  echo $value . "<br>";
}


В этом примере оператор continue используется для пропуска текущей итерации цикла, если значение равно 3. Если значение не равно 3, то оно будет выведено на экран.


Если вы хотите исключить несколько значений, вы можете добавить дополнительные условия в оператор if. Например, если вы хотите исключить значения 3 и 4, вы можете использовать следующий код:

1
2
3
4
5
6
7
8
$array = array(1, 2, 3, 4, 5);

foreach ($array as $value) {
  if ($value == 3 || $value == 4) {
    continue; // Исключить значения 3 и 4 из цикла
  }
  echo $value . "<br>";
}


В этом примере оператор continue используется для пропуска текущей итерации цикла, если значение равно 3 или 4. Если значение не равно 3 и не равно 4, то оно будет выведено на экран.

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

от laney_johnson , 8 месяцев назад

@kaleigh 

Дополнительно можно использовать функцию unset для удаления элементов массива, если вы хотите полностью исключить их из массива:


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
$array = array(1, 2, 3, 4, 5);

foreach ($array as $key => $value) {
  if ($value == 3 || $value == 4) {
    unset($array[$key]); // Исключить значения 3 и 4 из массива
  }
}

foreach ($array as $value) {
  echo $value . "<br>";
}


В этом примере, после первого цикла foreach значения 3 и 4 будут удалены из исходного массива с помощью функции unset. В результате, при последующем цикле foreach будут выведены только оставшиеся элементы массива.


Таким образом, вы можете использовать оператор continue для пропуска определенных значений в цикле foreach или функцию unset для полного удаления значений из массива.