将对象数组合并到关联数组


Merge array of objects to associative array

我有一个这样的对象数组,称为$objects

object(stdClass)#16 (3) {
  ["subcatname"]=>
  string(22) "Air"
  ["categoryid"]=>
  string(4) "1107"
  ["catname"]=>
  string(18) "Equipment"
}
object(stdClass)#17 (3) {
  ["subcatname"]=>
  string(17) "Machines"
  ["categoryid"]=>
  string(3) "108"
  ["catname"]=>
  string(18) "Equipment"
}

我想将每个对象(stdClass)设置为一个关联的数组值。所以我的最终数组看起来像这样:

array(18) {
  [0]=>
  object(stdClass)#258 (3) {
    ["subcatname"]=>
    string(22) "Air Recirculation Unit"
    ["categoryid"]=>
    string(4) "1107"
    ["catname"]=>
    string(18) "Catering Equipment"
  }
  [1]=>
  object(stdClass)#257 (3) {
    ["subcatname"]=>
    string(17) "Beverage Machines"
    ["categoryid"]=>
    string(3) "108"
    ["catname"]=>
    string(18) "Catering Equipment"
  }

以前有人做过类似的事情吗?我正在努力获得理想的结果。谢谢

编辑 ->

我已经尝试过这种方法,但这会遍历每一行,而不是每个组:

$test = array();
        $count =0;
        foreach ($row as $rows) {
            array_push($test, array($count => $rows));
            $count ++;
        }

您必须具有集合或其他类型来排序对象,以便迭代要执行的操作的过程。

例:如果您的所有对象都在 Collecton 中,您可以轻松地在表中订购您的对象

$orderedTabObject = array();
foreach($collectionObject as $object)
{
    array_push($object, $orderedTabObject);
}

这个过程在处理你的有序对象(集合、数组等)时可能会改变,但过程的精神是相同的

您需要阅读如何使用这种不同的有序类型进行迭代,以对流程有序对象进行编码。