我想通过Hash :: filter过滤数组并使用回调函数
static Hash :: filter(array $ data,$ callback = array(' Hash',' filter'))
...您还可以提供自定义$回调来过滤数组元素...... (CakePHP Docs)
我的问题只是......怎么样?
也许我的翻译失败了,但我有JavaScript过滤功能,你可以过滤一个数组,并为过滤器函数提供迭代atm的实际元素。然后,如果它返回false,它将被踢出数组。
也许我只是对PHP很糟糕但是......有人可以帮我吗,拜托? :)我的尝试atm就是这样的
$bis_datum = '2017-01-01';
$res = Hash::filter($multidim_assoc_array, function($part_of_multidim_assoc_array){
return !strtotime($assoc_array['von_datum']) > strtotime($bis_datum);
});
我知道这里有一些非常错误,因为它是sais
数组('哈希','过滤')
在docs和theres中只是一个匿名函数,但是我没有得到什么" Hash"和"过滤"部分意思是:S
$example = array(
'User' => array(
0 => array(
'name' => 'Bob',
'age' => 25
),
1 => array(
'name' => 'John',
'age' => 22
),
2 => array(
'name' => 'Jen',
'age' => 32
)
)
'School' => array(
'name' => 'Brainslaves High',
'adress' => 'Somestreet 42'
)
);
作为一个简单的例子..我怎样才能过滤这个数组,以驱逐年龄低于25岁的所有人?
由于-A-很多!
答案 0 :(得分:0)
Hash::filter
无法帮助您举例,您最好直接使用array_filter
$res = array('User' => array_filter($example['User'], function($user) {
return $user['age'] > 25;
})) + array('School' => $example['School']);