我如何从特定的多数组中仅获取八月的数据[重复]

Posted

技术标签:

【中文标题】我如何从特定的多数组中仅获取八月的数据[重复]【英文标题】:How i get only august month data from specific multi array [duplicate] 【发布时间】:2019-06-29 06:33:41 【问题描述】:
    $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。如何从这个数组中过滤(因为只有他们有 interval of Aug (08))。

【问题讨论】:

id 16 在您的数组中不存在 代码示例中的输出是什么? @KamilKiełczewski 其拼写错误这是 60 产品 ID array_filter? 你有什么尝试吗?甚至是一个简单的 foreach 循环? 【参考方案1】:

如果您输入的是 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 );

工作示例here

更新

如果您输入的是月份数字,例如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 );

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

【讨论】:

最好定义 $ids = [60,12] 并添加 use ($ids)in_array($e->product_id, $ids) - 但这只是我...... 你是对的,但我需要从日期而不是 id 获取数据 @PriteshMahajan 我更新答案 我不想使用 ID :( @KamilKiełczewski @PriteshMahajan 如果你不想使用 id,那么你可以使用这个返回语句数组过滤器:return $e->product_id == 60 or $e->product_id==12; 并在函数后删除字符串 use($ids)【参考方案2】:

试试这个:

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

array_walk($arrays,function($obj)
  unset($obj->interval);
);

【讨论】:

array_coloum 仅从对象中获取一个键。我需要2把钥匙。 product_id 和大小。请检查我的问题 更新了我的答案,先生! 有Skype吗,如果有,请给我

以上是关于我如何从特定的多数组中仅获取八月的数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从mysql数据库表中仅获取php数组的匹配项[重复]

Swift flatMap:如何从数组中仅删除元组中特定元素为零的元组?

如何从多数组中获取价值? [复制]

如何在不重复预定义三元组中的特定元素的情况下随机化向量?

Python:如何从数据框中仅提取年月日[重复]

如何从以下 SQL 查询中仅返回 yyyy-mm-dd [重复]