【问题标题】:Get value of array stdClass Object获取数组 stdClass 对象的值
【发布时间】:2021-02-07 16:38:08
【问题描述】:

我正在使用 api 执行值的插入。 然后,我正确发送值并在同一页面上获得返回。 例如:

<?php
...
$return= $set->createCharge([
   'description'    => 'Strings etc...',
   'amount'     => 10.0
)];

print_r($return);

?>

这个 print_r 结果是:

stdClass Object
(
[data] => stdClass Object
    (
        [charges] => Array
            (
                [0] => stdClass Object
                    (
                        [code] => 555
                        [reference] => 66
                        [dueDate] => 23/11/2020
                        [checkoutUrl] => https://url/number_return
                        [link] => https://url_return
                        [installmentLink] => https://url
                        [payNumber] => 9999999999
                        [billetDetails] => stdClass Object
                            (
                                [bankAccount] => 888888
                                [ourNumber] => 12121-9
                                [barcodeNumber] => 0541454141411141414141414
                                [portfolio] => 0001
                            )

                    )

            )

    )

[success] => 1

)

我试图获取值 '[code'] 使用以下内容:

echo $return[0]['code'];//Dont work

echo $return['data']['charges'][0]['code'];//Dont Work

如何获取 [code] 或该数组中的另一个值?

【问题讨论】:

    标签: php arrays api object stdclass


    【解决方案1】:

    “charges”数组中的每个元素都是一个对象。使用不同的语法来引用对象的成员:

    //for an array
    echo $someArray['someValue'];
    
    //for an object
    echo $someObject->someValue;
    echo $someObject->getSomeValue()
    

    因此,这是适合你的方式:

    echo $return->data->charges[0]->code;
    
    

    或者,一步一步:

    var_dump($return);
    var_dump($return->data);
    var_dump($return->data->charges);
    var_dump($return->data->charges[0]);
    var_dump($return->data->charges[0]->code);
    var_dump($return->data->charges[0]->code->billetDetails);
    var_dump($return->data->charges[0]->code->billetDetails->bankAccount);
    
    

    【讨论】:

    • HTTP ERROR 500 在 Apache 错误日志中说:PHP 致命错误:未捕获的错误:无法使用 stdClass 类型的对象作为数组
    • 我更新了我的答案。试试最后一段中的代码(“或者,一步一步”)。
    • 是的。是工作! var_dump($return->data->charges[0]->code);这个结果 -> path_url/code.php:34:int 136023929 运行 echo $return->data->charges[0]->code;输出:136023929 谢谢老兄。
    猜你喜欢
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    相关资源
    最近更新 更多