3 回答
TA贡献2041条经验 获得超4个赞
啥也不说,直接上代码,可惜php的闭包跟js一样又臭又长:
$data = [
[ 'id' => 1, 'name' => '你好,234', 'cate' => '生活日记'],
[ 'id' => 2, 'name' => '79798', 'cate' => '摄影美图'],
[ 'id' => 3, 'name' => '567567', 'cate' => '生活日记'],
];
$filtered = array_filter($data, function($item){
return $item['cate'] !== '摄影美图';
});
print_r($filtered);
TA贡献1772条经验 获得超8个赞
注意看array_filter
的第二个参数,第二个参数是一个自定义函数。这个自定义函数是为了设置过滤条件。
<?php
$arr = array(
array('id'=>1, 'cate'=>"生活日记"),
array('id'=>2, 'cate'=>"摄影美图"),
);
var_dump($arr);
function filter($rows){
if($rows['cate']==="摄影美图"){
return false;
}else{
return true;
}
}
$arr = array_filter($arr, 'filter');
var_dump($arr);
TA贡献1862条经验 获得超6个赞
我觉得不用array_filter也能达到目的呀
<?php
$oriArr = array(
0 => array('id' => '1', 'name' => '你好,234', 'cate' => '生活日记'),
1 => array('id' => '2', 'name' => '79798', 'cate' => '摄影美图'),
2 => array('id' => '3', 'name' => '567567', 'cate' => '生活日记'),
);
$resultArr = array();
foreach ($oriArr as $key => $value)
{
if ($value['cate'] === '摄影美图')
{
continue;
}
else
{
$resultArr[] = $value;
}
}
print_r($resultArr);
添加回答
举报