首页 > 解决方案 > 如何在 PHP 中访问第二级多维数组?

问题描述

我的 ProductClass 对象中有一个数组(子类别数组):

   class ProductCategory{
    public $name;
    public $id;
    public $subcategory = array();

    public function __construct($categoryName, $categoryId, $subcategoryname, $subcategoryid){
        $this->name = $categoryName;
        $this->id = $categoryId;

        $this->subcategory = array (
            "subcategoryname" => $subcategoryname,
            "subcategoryid" => $subcategoryid
        );

    }
}

我有看起来像这样的对象:

[0] => ProductCategory Object
    (
        [name] => Flower
        [id] => 1
        [subcategory] => Array
            (
                [subcategoryname] => Buds
                [subcategoryid] => 8
            )

    )

[1] => ProductCategory Object
    (
        [name] => Concentrate
        [id] => 2
        [subcategory] => Array
            (
                [subcategoryname] => Live Resin
                [subcategoryid] => 15
            )

    )

[2] => ProductCategory Object
    (
        [name] => Concentrate
        [id] => 2
        [subcategory] => Array
            (
                [subcategoryname] => Shatter
                [subcategoryid] => 5
            )

    )

在我的一生中,我无法弄清楚如何访问子类别名称和子类别 ID。

我可以像这样轻松访问名称和 ID:$category->name$category->id.

print_r是这样使用的:print_r($category->subcategory)我得到一个如下所示的输出:

Array ( [subcategoryname] => Buds [subcategoryid] => 8 )

所以我知道它在那里。当我Array使用echo $category->subcategory.

但是,在获取子类别名称和子类别 id 值时,我尝试的任何操作似乎都不起作用。

我试过了:

$category->subcategory->subcategoryname

还:

$category->subcategory[0]

还:

$category->subcategory['subcategoryname']

还:

$category->subcategory['subcategory']['subcategoryname']

我所做的一切似乎都没有返回名称(或 ID)。

标签: php

解决方案


推荐阅读