【问题标题】:Split stdClass Object into several blocks by value按值将 stdClass 对象拆分为多个块
【发布时间】:2022-01-26 20:24:38
【问题描述】:
大批 ( [0] => 标准类对象 ( [id] => 1 [user_id] => 30 [类别] => 1 [组] => 1 ) [1] => 标准类对象 ( [id] => 3 [user_id] => 30 [类别] => 3,2 [组] => 3 ) )

你好,我有这个来自数据库的示例数据,我需要通过 [category] ​​值拆分具有多个值的块(在这种情况下是第二个块),组 3 属于两个类别,3 和 2,有人可以建议如何做吗?比你提前

【问题讨论】:

  • explode 一个属性和clone 源对象。
  • 非常感谢您

标签: php mysql


【解决方案1】:
$data1 = new stdClass();
$data1->id = 1;
$data1->user_id = 30;
$data1->category = 1;
$data1->group = 1;

$data2 = new stdClass();
$data2->id = 3;
$data2->user_id = 30;
$data2->category = [ 3, 2 ];
$data2->group = 3;

$data = [ $data1, $data2 ];

$result = [];
foreach ($data as $item) {
  if (is_array($item->category)) {
    foreach($item->category as $category) {
      $clone = clone $item;
      $clone->category = $category;
      $result[] = $clone;
    }
  } else {
    $result[] = $item;
  }
}

【讨论】:

  • 非常感谢,现在我知道该怎么做了
猜你喜欢
  • 1970-01-01
  • 2019-04-23
  • 2018-12-18
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2013-10-29
  • 2018-05-05
  • 1970-01-01
相关资源
最近更新 更多