PHP数组转对象之后,怎么用对象的方式访问数据

查看:89
本文介绍了PHP数组转对象之后,怎么用对象的方式访问数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

    $fields = M('fields') -> select();
    $aa = json_encode($fields);
    $bb = json_decode($aa);
    
    $bb -> 0;//获取不到任何数据,应该怎么写呢
    
    print_r($bb);
    结果为:

Array
(

[0] => stdClass Object
    (
        [fields_id] => 1
        [name] => 勘探
    )

[1] => stdClass Object
    (
        [fields_id] => 2
        [name] => 钻完井
    )

[2] => stdClass Object
    (
        [fields_id] => 3
        [name] => 采油采气
    )

[3] => stdClass Object
    (
        [fields_id] => 4
        [name] => 油气储运
    )

[4] => stdClass Object
    (
        [fields_id] => 5
        [name] => 地面工程
    )

[5] => stdClass Object
    (
        [fields_id] => 6
        [name] => 销售炼化
    )

[6] => stdClass Object
    (
        [fields_id] => 7
        [name] => 新能源
    )

[7] => stdClass Object
    (
        [fields_id] => 8
        [name] => 综合
    )

)

里面的数据怎么取啊?求写法。比如要取[0]下面所有的数据怎么写?要是取[0]
下面的[name]又怎么写呢?

解决方案

楼上稍微有点问题,换我这样: $bb[0]->

你或许是想这样用:json_decode($aa, true);

在编程的时候注意查文档:

API

json_decode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0, PHP 7)

json_decode — 对 JSON 格式的字符串进行解码

说明

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
接受一个 JSON 编码的字符串并且把它转换为 PHP 变量

参数

json
待解码的 json string 格式的字符串。

这个函数仅能处理 UTF-8 编码的数据。

Note:

PHP implements a superset of JSON as specified in the original » RFC 7159.

assoc
当该参数为 TRUE 时,将返回 array 而非 object 。

这篇关于PHP数组转对象之后,怎么用对象的方式访问数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆