[英]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.