2022-12-12 22:04来源:m.sf1369.com作者:宇宇
PHP删除数组中空值的方法:
1.去掉数组的空值是都是强写foreach或者while的,利用这两个语法结构来删除数组中的空元素,简单代码如下:
foreach( $arr as $k=>$v){
if( !$v )
unset( $arr[$k] );
}
?>
这种方法的效率不是很高
2. array_filter函数的功能是利用回调函数来对数组进行过滤,一直都以为用回调函数才能处理,却没有发现手册下面还有一句,如果没有回调函数,那么默认就是删除数组中值为false的项目。代码如下:
$entry = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($entry));
?>输出值为:
Array
(
[0] => foo
[2] => -1
)这种方法的效率不错
直接两个 foreach 是不符合楼主的需求的。
$arr=Array
(
array('123332' => '123332','123333' => '123333'),
array('123332' => 'Hockey Stick','123333' => 'Hockey Stick2'),
array('123332' => 33.25 , '123333' => 33.25)
);
//$arr 为你要查询的数组
foreach($arr[0] as $key=>$val){
//循环查找每一类数据。
for($i=0;$i$narr[$val][]=$arr[$i][$key]; } } print_R($narr);
$a=array(array(0,1),array(2,3),array(4,5));
foreach ($a as $k => $v) {
if (is_int($v)) {
echo $v.'<br/>';
} else if (is_array($v)) {
foreach ($v as $k2 => $v2) {
echo $v2.' ';
}
echo '<br/>';
}
}
这里引用一下楼上的方法吧,就是双重循环读取每个数组中值
至于foreach中的$k跟$v是自定义变量,可以用任何合法变量名就可以了,$k代表的是数组中的键,$v代表的是数组中的值,第一个$v是循环出来的一维数组,$v2是一维数组中的每个值