У меня нормальный одномерный массив, назовем его $ myarray , с несколькими ключами от [0] до [34]. Однако некоторые ключи могут быть пустыми.
Предположим, я хочу использовать такой массив в цикле foreach
$i = 1; $choices = array(array('text' => ' ', 'value' => ' ')); foreach ( $myarray as $item ) : $count = $i++; $choices[] = array('text' => $count, 'value' => $count, 'price' => $item); endforeach;
Я бы хотел пропустить в этом цикле foreach все пустые ключи, поэтому другой массив, который я здесь создаю ( $ options ), может иметь меньшее количество строк, чем $ myarray . В то же время, как вы видите, я считаю циклы, потому что мне нужно увеличение числа в качестве значения одного из ключей нового построенного массива. Счет должен быть прогрессивным (1..2..3..4 …).
благодаря
array_filter()
удалит пустые элементы из массива
Вы также можете использовать continue
в цикле, чтобы пропустить остальную часть структуры цикла и перейти к следующему элементу:
$array = array('foo', '', 'bar'); foreach($array as $value) { if (empty($value)) { continue; } echo $value . PHP_EOL; } // foo // bar