当前位置: 首页 > 知识库问答 >
问题:

如何仅从特定的多阵列获取8月份数据[重复]

卢知
2023-03-14
    $arr = [
        (Object)[
            'interval' => "2018-08-26",
            'product_id' => 12 ,
 'size' => 10 
        ],
        (Object)[
            'interval' => "2018-09-26",
            'product_id' => 26 ,
'size' => 25 
        ],
        (Object)[
            'interval' => "2018-07-26",
            'product_id' => 50 ,
'size' => 28 
        ],(Object)[
            'interval' => "2018-08-26",
            'product_id' => 60,
'size' => 89 
        ],
        (Object)[
            'interval' => "2018-12-26",
            'product_id' => 75,
'size' => 89 
        ],
        (Object)[
            'interval' => "2018-09-26",
            'product_id' => 98 ,
'size' => 89 
        ] 
    ];

我只需要12和60个产品id。如何从该数组中筛选(因为只有它们具有8月(08)的间隔)。


共有2个答案

米项禹
2023-03-14

试试这个:

$arrays = array_filter($arrays,function($arr){
  return substr($arr->interval,5,2) == '08';
});

array_walk($arrays,function($obj){
  unset($obj->interval);
});
刘京
2023-03-14

如果您的输入是ID,并且希望获取日期,请尝试

$ids = [12,60];

$result = array_filter($arr, function($e) use($ids) {
    return in_array($e->product_id, $ids);
});

$dates = array_map(function($e) { return $e->interval; }, $result );

这里的工作示例

使现代化

如果您输入的是月份号,例如08,并且您想要获得ID,那么请尝试以下方式

$result = array_filter($arr, function($e) {
    return substr($e->interval,5,2) == '08';
});

$ids = array_map(function($e) { return $e->product_id; }, $result );

这里的工作示例$结果包含完整的对象,因此您可以读取project_is以及大小。

 类似资料:
  • 问题内容: 我将数据保存在SQLite数据库中。我将日期保存为DATETIME数据类型在数据库中。 我只想从我的SQLite数据库中检索特定月份的数据。 我尝试使用下面的查询来检索数据,但是它没有用。它给了我数据,但不是特定月份。 问题答案: 这可能不是最佳选择,但您可以使用:

  • 这里是一个场景,我有每月的数据,我必须将其插入到数据结构中,然后检索它。假设数据a进入一月,数据b进入六月,数据c进入一月。插入完成后,我添加给定月份的所有数据并检索它。因此,1月份可能是a b,2月份可能是d e f等等。如何在Java中实现这一点?请帮忙。谢谢Matt

  • 我想在CardView上显示一个特定的月份,而不使用下一个和上一个箭头来导航日历。如果我想显示2010年2月,用户只能看到2010年2月。他们下个月或上个月不能去。 我遵循这个堆栈溢出答案来显示一个特定的月份,但它对我不起作用。它始终显示我的病例的当前日期和月份。我不确定是否可以禁用上一次导航。 我的XML: 我的片段类: 如果没有下一个导航,我如何只显示2月份?

  • 问题内容: 如何知道特定年份的特定月份有多少天? 问题答案: Java 8及更高版本 @沃伦·诺科斯(Warren M. 如果你尝试使用Java 8的新Date and Time API,则可以使用java.time.YearMonthclass。请参阅Oracle教程。 测试:尝试a年的一个月: Java 7及更早版本 创建日历,设置年份和月份并使用 getActualMaximum 测试:尝试

  • 问题内容: 我需要获取一个月的第一个日期和最后一个。获取第一个是微不足道的,但是获取最后一个似乎需要一些逻辑,因为月份的长度不同,而2月的长度甚至会随着年份而变化。是否已经在JodaTime中内置了对此机制,还是应该自己实现? 问题答案: 怎么样: 以知道来源的方式传回,代表a 代表[每月的月份]栏位。 碰巧的是,该方法甚至记录在案,以推荐它用于此特定任务: 由于月份长度不同,此操​​作对于在每月

  • 我有一个每日数据集。我只需要获得数据集中每个月的第一天的数据(数据是从1972年到2013年)。例如,我需要提取的索引,日期值。我的问题是每个月的第一天是不同的,因此我不能使用诸如之类的步骤,我该如何从数据集中提取这些值? 有没有类似的命令,我在另一个职位上发现的R? R-XTS:从缺少行的每日时间序列中获取每个月的第一个日期和值