Цикл хотя $ _POST. Как остановиться после завершения цикла?

Я хочу, чтобы эта функция возвращала false, когда для каждого оператора прекратился цикл. И правда, если он не пустой.

function check_empty($post_array){
$items_in_array = count($post_array); //array length
echo $items_in_array;
foreach($post_array as $key=>$value){
if(empty($value)){
echo $key . " field cannot be left empty" . "</br>";
}
}
return false;
}

Примечание: если я верну false внутри foreach, он остановится прямо на первой итерации, я хочу, чтобы он завершил итерацию и остановился только после того, как он перебрал все значения в этом массиве ($ post_array)

0

Решение

если я верну false внутри foreach, он остановится прямо на первой итерации, я хочу, чтобы он завершил итерацию и остановился только после того, как он перебрал все значения

Таким образом, пустое значение будет считаться «ошибкой» некоторого вида, и одной такой ошибки должно быть достаточно, чтобы функция вернула false?

function check_empty($post_array){
$no_empty_fields = true;
foreach($post_array as $key=>$value){
if(empty($value)){
$no_empty_fields = false;
// plus whatever additional handling you need here
}
}
return $no_empty_fields;
}
1

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

function check_empty($post_array){
$items_in_array = count($post_array); //array length
echo $items_in_array;
if($items_in_array < 1){
echo 'no data submitted';
return false;
}
$errors = '';
foreach($post_array as $key=>$value){
if(empty($value)){
$errors.= $key . " field cannot be left empty" . "</br>";
}
}
if($errors){
echo $errors;
return false;
}
return true;
}

Не очевидно, о чем вы спрашиваете, но приведенное выше возвращает false для первого пустого значения. Если пустых значений не обнаружено, функция вернет true

3

Для остановки вы можете использовать либо break; или же return;

сломаться, если вы хотите остановить это изменение
вернитесь, если вы хотите выйти из цикла и завершить функцию.

1

function check_empty($post_array){
$items_in_array = count($post_array); //array length
echo $items_in_array;
$rtVl = false
foreach($post_array as $key=>$value){
if(empty($value)){
echo $key . " field cannot be left empty" . "</br>";
}
$rtVl = true;
}
return $rtVl;
}
1

ты можешь использовать break или же return false Заявление о выходе из цикла.

  foreach($post_array as $key=>$value){
if(empty($value)){
echo $key . " field cannot be left empty" . "</br>";
break;//or return false;
}
}
0

Возврат или перерыв; когда ваши условия будут выполнены.

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