【发布时间】:2016-09-14 11:22:52
【问题描述】:
如何设置multifilter 或multicallback?
我想同时按City 和Confirm 过滤数据。
输入数据:
$data1 = array(
"L1" => array('Vanessa', 'Prague', 'OK'),
"L2" => array('Alex', 'Paris', 'OK'),
"L3" => array('Paul', 'Paris', 'OK'),
"L4" => array('John', 'Madrid', 'OK'),
"L5" => array('Jane', 'London', 'Waiting'),
"L6" => array('David', 'Prague', 'OK'),
"L7" => array('Martin', 'Prague', 'Waiting'),
"L8" => array('Frank', 'Prague', 'OK'),
"L9" => array('Joseph', 'Prague', 'Waiting'),
);
过滤代码:
$ByConfirm = 'OK';
$ByCity = 'Prague';
以下是我的问题。我尝试使用&&,但它单独工作,我需要$filterByConfirm + $filterByCity的合作
$new = array_filter($data1, $filterByConfirm && $filterByCity);
$filterByConfirm = $new = array_filter($data1, function ($var) use ($ByConfirm) {
return ($var[2] == $ByConfirm);
});
$filterByCity = $new = array_filter($data1, function ($var) use ($ByCity) {
return ($var[1] == $ByCity);
});
实际结果:
Name City Confirm
Vanessa Prague OK
David Prague OK
Martin Prague Waiting
Frank Prague OK
Joseph Prague Waiting
我需要:
Name City Confirm
Vanessa Prague OK
David Prague OK
Frank Prague OK
【问题讨论】:
-
您是否考虑过使用数据库过滤表格数据?
-
当然,但我是业余爱好者。这个解决方案对于我的小项目来说已经足够了,也许以后。
标签: callback array-filter