是否可以从数组中删除除第一个元素之外的所有空元素?看看这个例子:
原创
Array (
[0] => val1
[1] => val2
[2] => val3
[3] =>
[4] => val4
[5] => val5
[6] => val6
[7] =>
[8] => val7
[9] => val8
[10] => val9
)期望结果
Array (
[0] => val1
[1] => val2
[2] => val3
[3] =>
[4] => val4
[5] => val5
[6] => val6
[7] => val7
[8] => val8
[9] => val9
)这个是可能的吗?实现这一目标的最佳方式是哪一种?
提前谢谢你的帮助。
发布于 2017-01-02 16:39:07
简单的解决办法是:
$a = array(
'0' => 'val1',
'1' => 'val2',
'2' => 'val3',
'3' => '',
'4' => 'val4',
'5' => 'val5',
'6' => 'val6',
'7' => '',
'8' => 'val7',
'9' => 'val8',
'10' => 'val9',
);
// special flag to check if empty
// element already exists in new array
$has_empty = false;
$new_a = [];
foreach ($a as $el) {
if (!empty($el) || !$has_empty) {
$new_a[] = $el;
if (empty($el)) {
$has_empty = true;
}
}
}
echo'<pre>',print_r($new_a),'</pre>';发布于 2017-01-02 16:42:25
您可以使用array_filter:
$first = false;
$result = array_filter($arr, function($k) use($first){
if(empty($k) && !first){
$first = true;
return true;
}
return !empty($k);
})https://stackoverflow.com/questions/41430282
复制相似问题