【发布时间】:2018-06-12 12:18:03
【问题描述】:
鉴于我根据查询的 API 获得不同的对象结果,这里是我必须实现的 35 个示例中的两个:
stdClass Object
(
[mid] => 7127.75
[bid] => 7126.6
[ask] => 7128.9
[last_price] => 7128.8
[low] => 7000.0
[high] => 7492.1
[volume] => 53255.4195502
[timestamp] => 1510265647.9803913
)
stdClass Object
(
[Success] => 1
[Message] =>
[Data] => stdClass Object
(
[AskPrice] => 7095
[BidPrice] => 7070
[Low] => 7001
[High] => 7540
[Volume] => 17.38943459
[LastPrice] => 7090
[Change] => -1.02
[Open] => 7163
[Close] => 7090
)
[Error] =>
)
我想构建映射变量数组来轻松访问对象。
$xmap["a"]["bid"] = "bid";
$xmap["b"]["bid"] = "Data->BidPrice";
假设 $content 有第一个示例对象,这将起作用:
print $content->{$xmap["a"]["bid"]}; // the result is 7128.9
至于第二个示例对象,它没有:
print $content->{$xmap["b"]["bid"]}; // the result is PHP Notice: Undefined property: stdClass::$Data->BidPrice in ...
这可以做到吗,还是我坚持使用 if 语句!
【问题讨论】:
-
制作一个模型,不要对两者使用相同的代码,问题解决了。这2个不同的API吗?如果是这样创建一个接口
标签: php object properties