如何从 rpc 服务器响应中保存一个变量?

我想使用 RPC 和 PHP 库为我的 litecolin 守护程序服务器连接我的 RPC 钱包服务器和我的 WEB 服务器。

这是我用来连接服务器的库。

[莱特币 PHP 库][1] [1]:

这是我的 index.php,它将生成新的地址来存放莱特币 :)

$litecoind = new LitecoinClient([

    'scheme' => 'http',                 // optional, default http

    'host'   => '1HIDDEN.HIDDEN.HIDDEN.0',            // optional, default localhost

    'port'   => PRIVATE,                   // optional, default 9332

    'user'   => 'HIDDEN',              // required

    'pass'   => 'HIDDEN',          // required


]);


$alo=$litecoind->getnewaddress();

?>


<pre>

<?php 

print_r($alo);

?>

</pre>

所以当我得到回应时,我得到一些非常困难的数组来为我和他读取我只需要这个块中的变量作为 [response]


     [container:protected] => Array

            (

                [result] => MUZiKwDneYD7a6G8Sx3TQjVZqfC3JkDobu

                [error] => 

                [id] => 0

            )

这是打印为漂亮打印的服务器的完整响应:


Majestic\Litecoin\LitecoindResponse Object

(

    [response:protected] => GuzzleHttp\Psr7\Response Object

        (

            [reasonPhrase:GuzzleHttp\Psr7\Response:private] => OK

            [statusCode:GuzzleHttp\Psr7\Response:private] => 200

            [headers:GuzzleHttp\Psr7\Response:private] => Array

                (

                    [Content-Type] => Array

                        (

                            [0] => application/json

                        )


                    [Date] => Array

                        (

                            [0] => Mon, 08 Jun 2020 17:09:32 GMT

                        )


                    [Content-Length] => Array

                        (

                            [0] => 68

                        )


                )


这对于不了解 json 响应的人来说很难理解如何仅获取 [response] 并将其保存到 sql,当然我知道如何保存到 mysql 但是如何仅获取响应变量对我来说很难所以我想请任何知道在这里做什么的人帮助我,甚至为我指出一些简单的解决方案。


非常感谢您阅读我的代码。感谢您以后的回复和帮助!


你的堆栈朋友 :)


编辑:如果这不是 json 响应,谁能告诉我这个响应是什么以及如何获取我需要的结果(钱包)变量。当我想回显我的 $alo 变量时,我得到了对象无法转换为字符串的错误...什么


Cats萌萌
浏览 82回答 2
2回答

慕盖茨4494581

这里最大的问题是这container是一个“受保护”的财产。这意味着它无法在类(或从它继承的类)外部访问 - 这在此处的 PHP 文档中进行了描述:https: //www.php.net/manual/en/language.oop5.visibility.php。然而,尽管库的文档忽略提及它,但根据类的源代码,应该可以调用result()函数返回容器对象的“结果”部分。例如echo $alo->result();作为参考,该result()函数在类的源代码中如下所示LitecoindResponse:/**&nbsp;* Gets result array.&nbsp;*&nbsp;* @return array|null&nbsp;*/public function result(){&nbsp; &nbsp; if ($this->hasResult()) {&nbsp; &nbsp; &nbsp; &nbsp; return $this->container['result'];&nbsp; &nbsp; }}

ibeautiful

你可以像这样访问它$myval = $alo["container"];foreach($myval as $myvals){var_dump($myvals);}
打开App,查看更多内容
随时随地看视频慕课网APP