array_filter 返回一个过滤后的新数组,过滤方法在回调函数中处理。
源码:
<?php
header('content-type:text/html; charset=utf-8');
//定义数组
$array = [
['ISBN'=>'9787302466529', 'title'=>'ThinkPHP实战', 'pub'=>'清华大学出版社', 'price'=>49],
['ISBN'=>'9787121122910', 'title'=>'ThinkPHP从入门到精通', 'pub'=>'电子工业出版社', 'price'=>59],
['ISBN'=>'9787111569756', 'title'=>'ThinkPHP实例教程', 'pub'=>'机械工业出版社', 'price'=>58]
];
echo '<pre>';
echo '原数组:<br>';
print_r($array);//原样输出键、值(key、value)
//使用回调函数处理
echo '使用回调函数处理:<br>';
echo '1:按完整书名过滤<br>';
$result = array_filter($array, function (&$value) {//加&传递参数引用,可以修改,不加&仅传递参数值,修改无效
if ($value['title'] == 'ThinkPHP实战') {
return true; //返回true,放回到结果中
}
return false; //返回false,这个值就不会出现在结果中
});
print_r($result);
echo '2:按书名中的某个字过滤<br>';
$result = array_filter($array, function ($value) {//加&传递参数引用,可以修改,不加&仅传递参数值,修改无效
if ( strstr($value['title'] , '实') ) { //
return $value; //直接返回原参数,作用与return true是一样的
}
return false; //返回false,这个值就不会出现在结果中
});
print_r($result);
echo '3:按书价过滤<br>';
$result = array_filter($array, function ($value) {
if ( $value['price']>50 ) {
return $value;
}
return false;
});
print_r($result);运行效果:
原数组: Array ( [0] => Array ( [ISBN] => 9787302466529 [title] => ThinkPHP实战 [pub] => 清华大学出版社 [price] => 49 ) [1] => Array ( [ISBN] => 9787121122910 [title] => ThinkPHP从入门到精通 [pub] => 电子工业出版社 [price] => 59 ) [2] => Array ( [ISBN] => 9787111569756 [title] => ThinkPHP实例教程 [pub] => 机械工业出版社 [price] => 58 ) ) 使用回调函数处理: 1:按完整书名过滤 Array ( [0] => Array ( [ISBN] => 9787302466529 [title] => ThinkPHP实战 [pub] => 清华大学出版社 [price] => 49 ) ) 2:按书名中的某个字符过滤 Array ( [0] => Array ( [ISBN] => 9787302466529 [title] => ThinkPHP实战 [pub] => 清华大学出版社 [price] => 49 ) [2] => Array ( [ISBN] => 9787111569756 [title] => ThinkPHP实例教程 [pub] => 机械工业出版社 [price] => 58 ) ) 3:按书价过滤 Array ( [1] => Array ( [ISBN] => 9787121122910 [title] => ThinkPHP从入门到精通 [pub] => 电子工业出版社 [price] => 59 ) [2] => Array ( [ISBN] => 9787111569756 [title] => ThinkPHP实例教程 [pub] => 机械工业出版社 [price] => 58 ) )
相关文章![[PHP基础学习笔记] 数组函数:数组输出](http://static.hanyu123.cn/uploads/1027/15091140717.png)
精彩导读
热门资讯
关注我们