如何从PHP中获取文本?

时间:2014-11-08 21:56:26

标签: php

我只需要显示此字符串的状态值,但我不知道该怎么做:

Web Object ( 
    [data] => stdClass Object ( 
        [operations] => stdClass Object ( 
            [384322232931] => stdClass Object ( 
                [status] => on
            ) 
        ) 
    ) 
    [error] => 
)

感谢您的阅读

3 个答案:

答案 0 :(得分:3)

如果对象在$webobj中,则为:

$webobj->data->operations->{'384322232931'}->status

当属性名称为数字时,您不能使用普通属性语法,您需要大括号和引号,如下所述:How to access object properties with names like integers?

如果该号码是帐户ID,您可以执行以下操作:

$webobj->data->operations->{$account_id}->status

其中$account_id包含您的帐号。

答案 1 :(得分:0)

我认为数字384322232931是"随机"如果是这样,你必须使用递归方法:

function captureStatus($data) {
    $obj = (array) $data;
    $key = key($obj);

    if ($key === 'status') {
        return $obj['status'];
    } else if ($key !== NULL) {
        return captureStatus($obj[$key]);
    }
    return NULL;
}

如果不是随机的,请使用@Barmar的方法

答案 2 :(得分:-1)

看起来你想要的属性是深深嵌入的,所以你可能遇到的问题是你需要经历几个孩子。

尝试:     $ status = $ yourObj-> data-> operations-> 384322232931-> status;

我不知道这是否有帮助。我对“字符串”的含义感到有点困惑,因为你发布的内容看起来像是对象的print_r输出。

如果您要做的是从字符串中提取该值,那么我认为您可能会做一些不稳定的事情。