【问题标题】:access value from nested object in php从 php 中的嵌套对象访问值
【发布时间】:2020-03-27 03:01:01
【问题描述】:

我有一个对象,但我无法获取值:(

我到底怎样才能访问值“x”和“y”并将它们放入变量中?

这太疯狂了

var_dump 向我展示了这个:

object(Elliptic\EC\KeyPair)#1201 (2) {
  ["priv"]=>
  NULL
  ["pub"]=>
  object(Elliptic\Curve\ShortCurve\Point)#1206 (1) {
    ["EC Point"]=>
    array(2) {
      ["x"]=>
      string(64) "6f713d7037b148ad4027392aa5b27c575d3669f3691aba2a7cd91de5e616a448"
      ["y"]=>
      string(64) "34f4f38690796615e7bb70fb94cbc3db43d08a64bb9e5a24ac15afc92d148d8e"
    }
  }
}

print_r 是这样显示的

Elliptic\EC\KeyPair Object
(
    [priv] => 
    [pub] => Elliptic\Curve\ShortCurve\Point Object
        (
            [EC Point] => Array
                (
                    [x] => 6f713d7037b148ad4027392aa5b27c575d3669f3691aba2a7cd91de5e616a448
                    [y] => 34f4f38690796615e7bb70fb94cbc3db43d08a64bb9e5a24ac15afc92d148d8e
                )

        )

)

感谢任何指示。

【问题讨论】:

    标签: php arrays object nested


    【解决方案1】:

    不是你认为我太懒了。 但我想要政治正确的方式来做到这一点。

    我发现了一个丑陋的解决方法,但它对我有用:

    
    $keysx=explode("[x] => ",$keys);$keysx=substr($keysx[1],0,64);
    $keysy=explode("[y] => ",$keys);$keysy=substr($keysy[1],0,64);
    
    echo "$keysx$keysy";
    

    【讨论】:

      【解决方案2】:

      在我看来是这样的:

      $name_ofvariable_you_are_printing->pub['Ec Point']['x']
      

      【讨论】:

      • 感谢您的帮助。好吧,这不起作用。它不输出任何东西,而是在那里中断脚本的执行。但它不会引发错误。这很奇怪,所以我采用了我残废的文本解析方式。
      • 如果它有助于使用 Kint 转储其库,并且在这种情况下它可能会为您提供更多帮助。如果你在谷歌上搜索 Kint php 你可以找到它。很可能在其中一个数组之前有一个 0 [0] 的索引。另一个问题.. 对象是公开的吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 2019-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      相关资源
      最近更新 更多