gpt4 book ai didi

PHP/JSON - stdClass 对象

转载 作者:可可西里 更新时间:2023-10-31 22:40:27 25 4
gpt4 key购买 nike

我对数组还是很陌生。我需要一些帮助 - 我有一些 JSON,我已经通过一些 PHP 运行它,基本上解析 JSON 并将其解码如下:

stdClass Object
(
[2010091907] => stdClass Object
(
[home] => stdClass Object
(
[score] => stdClass Object
(
[1] => 7
[2] => 17
[3] => 10
[4] => 7
[5] => 0
[T] => 41
)

[abbr] => ATL
[to] => 2
)

这实际上一直在继续 - 但是 - 我的问题是 stdClass Object 部分。我需要能够在 for 循环中调用它,然后遍历每个部分(home、score、abbr、to 等)。我该怎么做?

最佳答案

您可以使用 get_object_vars() 获取对象属性的数组,或调用 json_decode()json_decode($string,true); 获取关联数组。


示例:

<?php
$foo = array('123456' =>
array('bar' =>
array('foo'=>1,'bar'=>2)));


//as object
var_dump($opt1 = json_decode(json_encode($foo)));

echo $opt1->{'123456'}->bar->foo;

foreach(get_object_vars($opt1->{'123456'}->bar) as $key => $value){
echo $key.':'.$value.PHP_EOL;
}

//as array
var_dump($opt2 = json_decode(json_encode($foo),true));

echo $opt2['123456']['bar']['foo'];

foreach($opt2['123456']['bar'] as $key => $value){
echo $key.':'.$value.PHP_EOL;
}
?>

输出:

object(stdClass)#1 (1) {
["123456"]=>
object(stdClass)#2 (1) {
["bar"]=>
object(stdClass)#3 (2) {
["foo"]=>
int(1)
["bar"]=>
int(2)
}
}
}
1
foo:1
bar:2

array(1) {
[123456]=>
array(1) {
["bar"]=>
array(2) {
["foo"]=>
int(1)
["bar"]=>
int(2)
}
}
}
1
foo:1
bar:2

关于PHP/JSON - stdClass 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3754411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com