/*
array_filter()用回调函数过滤数组中的单元
array_filter(array,function)
参数描述:如果自定义过滤函数返回 true,则被操作的数组的当前值就会被包含在返回的结果数组中,
并将结果组成一个新的数组,如果原数组是一个关联数组,键名保持不变。
*/
function delEmpty($val) {
if ($val === "" || $val === "php") { //当数组中存在空值和php值时,换回false,也就是去掉该数组中的空值和php值
return false;
}
return true;
}
$input_array = array('A'=>"Java",
'B'=>false,
'B1'=>true,
'C'=>"",
'D'=>" ",
'E'=>null,
'G'=>0,
'G1'=>'0',
'H'=>'php');
print_r(array_filter($input_array));
print_r(array_filter($input_array, "delEmpty"));
?>
没有回调函数的运行结果:
可以看出,false,null,和真正的''空白以及0都被过滤了,而且数组的下标没有改变.
有回调函数的运行结果:
[php]view plaincopyprint?
/**
* array_slice()函数 从数组中取出一段
* array_slice(array array, int offset[, int length])
* 根据 offset 和 length 参数所指定的 array 数组中的一段序列。
* offset 表示开始位置,length表示这段序列的长度.
* true 键不改变
*/
$input = array("Java", "Php",
"C++", "C#",
"Ruby", "Object-c");
$outputA = array_slice($input, 2); // returns "C++", "C#", "Ruby", "Object-c"
$outputB = array_slice($input, -2, 1); // returns "Ruby"
$outputC = array_slice($input, 1, 3); // returns "Php", "C++", "C#"
print_r($outputA);
print_r($outputB);
print_r($outputC);
print_r(array_slice($input, 2, -1, true));
print_r(array_slice($input, 2, -1));
?>
运行结果:
Bitcoin buying and selling process on Huobi.com
Words disappear after typing
Characteristics of two's complement arithmetic
What are the electronic contract signing platforms?
Association rules apriori algorithm
The difference between random and pseudo-random
What is the difference between xls and xlsx
Scope permission opening method