我有一个普通的一维数组,我们称之为 $ 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循环中跳过所有空键,因此我在这里构建的另一个数组( $ choices )的行数可能比 $少。 myArray的即可。但与此同时,正如您所看到的,我计算循环,因为我需要增加一个数字作为正在构建的新数组的一个键的值。计数应该是渐进的(1..2..3..4 ......)。
感谢
答案 0 :(得分:7)
array_filter()
将从数组中删除空元素
您还可以在循环中使用continue
跳过循环结构的其余部分并移至下一个项目:
$array = array('foo', '', 'bar');
foreach($array as $value) {
if (empty($value)) {
continue;
}
echo $value . PHP_EOL;
}
// foo
// bar