繁体   English   中英

PHP数组和stdClass对象

[英]PHP Arrays and stdClass objects

我正在一个项目中,以获取数组的名称。 数组似乎是多维的,并且增加了作为stdclass对象的好处。 我试图从提供的数组中选择一个键,但是似乎没有运气选择它们。

echo($response->array[shoecompany]->array[1]->name);

从这里的信息

    stdClass Object
(
    [shoe] => shoemaker
    [shoecompany] => Array
        (
            [0] => stdClass Object
                (
                    [shoenumber] => 1
                    [name] => Blank

            [1] => stdClass Object
                (
                    [shoenumber] => 2
                    [name] => demo
                )

            [2] => stdClass Object
                (
                    [shoenumber] => certificate
                    [name] => certofsale

                )

        )

)

我似乎没有采取任何行动,从中获取所需的信息。 信息说,采取任何方式进行拉动。

数组似乎是多维的,并且增加了作为stdclass对象的好处。

数组和对象不是一回事。

如果您好奇的话,我让您进一步了解两者的细节。

关于访问,当您要访问数组中的某些内容时,请使用方括号-' [] '-和要访问对象的属性时请使用箭头-'- > '-:

$array['key'];

$object->property;

在您的情况下,由于只有$response和条目showcompany中的条目(我认为是错字)是对象,因此您应该写的是:

$response->shoecompany[1]->name;

这使您实用:

foreach ($response->shoecompany as $val) {
    echo $val->shoenumber, ' : ', $val->name, '<br>'; // Or whatever you want to print, that's for the sake of providing an example
}

如果更方便地处理独占数组,则还可以使用get_object_vars()将对象属性转换为数组:

$response = get_object_vars($response);

代码应类似于:

echo $response->shoecomapny[1]->name;

简而言之,要选择对象内部的键,您需要使用“->”运算符,而要选择数组内部的键,请使用“ []”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM