Heim >Backend-Entwicklung >PHP-Tutorial >json - 在php中读取stdclass的问题?

json - 在php中读取stdclass的问题?

WBOY
WBOYOriginal
2016-07-06 13:53:241414Durchsuche

例如:

<code>array(3) { [0]=> object(stdClass)#6 (2) 
               { ["id"]=> string(1) "1" ["topic_name"]=> string(5) "janus" }
          [1]=> object(stdClass)#7 (2) 
               { ["id"]=> string(2) "10" ["topic_name"]=> string(8) "emulsion" } 
          [2]=> object(stdClass)#33 (2) 
               { ["id"]=> string(2) "14" ["topic_name"]=> string(8) "particle" } }

</code>

如果转换成数组?

回复内容:

例如:

<code>array(3) { [0]=> object(stdClass)#6 (2) 
               { ["id"]=> string(1) "1" ["topic_name"]=> string(5) "janus" }
          [1]=> object(stdClass)#7 (2) 
               { ["id"]=> string(2) "10" ["topic_name"]=> string(8) "emulsion" } 
          [2]=> object(stdClass)#33 (2) 
               { ["id"]=> string(2) "14" ["topic_name"]=> string(8) "particle" } }

</code>

如果转换成数组?

不太严格要求性能且编码是 utf-8 的情况下就:

<code class="php">$new_array = json_decode(json_encode($array), true);</code>

如果严格要求的话,根据情况循环处理吧

<code class="php">foreach ($array as $key => $value) {
    $array[$key] = (array)$value;
}</code>

用foreach就可以

谢邀。
直接通过常用的->获取类属性的方式进行操作,如果需要获取当中有什么元素的化可以使用反射实现

<code class="php">$reflection = new ReflectionObject($stdClass);
$properties = $target->getProperties();</code>

ReflectionObject::getProperties

写个函数,用上array_map

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn