> 백엔드 개발 > PHP 튜토리얼 > json - 在php中读取stdclass的问题?

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

WBOY
풀어 주다: 2016-07-06 13:53:24
원래의
1416명이 탐색했습니다.

例如:

<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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿