本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

CakePHP 2.x - Hash::filter - 如何设置回调函数?// PHP 过滤器

发布于2023-11-29 20:02     阅读(516)     评论(0)     点赞(19)     收藏(1)


我想通过 Hash::filter 过滤数组并使用回调函数

静态 Hash::filter(数组 $data, $callback = array('Hash', 'filter'))

...您还可以提供自定义 $callback 来过滤数组元素...(CakePHP 文档)

我的问题只是...如何?

也许我脑子里的翻译有问题,但我脑子里有 JavaScript 过滤函数,你可以在其中过滤数组,并为过滤函数提供在 atm 上迭代的实际元素。然后,如果它返回 false,它将被踢出数组。

也许我只是不擅长 php 但是..有人可以帮我吗?:)

我的尝试是这样的

$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);
});

我知道这里有问题,因为它说

数组('哈希','过滤器')

在文档中,这里只有一个匿名函数,但我不明白“哈希”和“过滤器”部分的含义: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 岁的人?

多谢!


解决方案


Hash::filter不会帮助你的例子,你最好array_filter直接合作

$res = array('User' => array_filter($example['User'], function($user) {
                    return $user['age'] > 25;
                })) + array('School' => $example['School']);


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.phpheidong.com/blog/article/550171/84230bbb0be1db789f99/

来源:php黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

19 0
收藏该文
已收藏

评论内容:(最多支持255个字符)