//array_filter()函数的功能是利用回调函数来对数组进行过滤,如果没有回调函数,那么默认就是删除数组中值为false的项目。
例如:
$FileArray=array(0=>'1',1=>'',2=>'',3=>'go');
var_dump(array_file($FileArray))
输出结果为:
array(size=2)
0 => string '1' (length=1)
3 => string 'go' (length=2)
这样就引申出来一个新问题,如果我想对array_filter()处理过的新数组的键名序列化成0,1,2,3这样的怎么办呢?
这在数组比较中是很有用的,这里有两个函数可以选择array_values(),sort().
array_values()返回数组中所有的值,并给其建立数字索引。(注意,用这个之后key就是数字索引了)
sort()对数组进行排序。当函数结束时数组单元将被从最低到最高重新安排。成功返回true (注意: 本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。 )*sort函数返回值是布尔类型。
这里我选择了array_values()函数来处理:
var_dump(array_values(array_filter($FileArray)));
输出结果为:
array(size=2)
0 => string '1' (length=1)
1=> string 'go' (length=2)