【发布时间】:2016-01-21 13:34:42
【问题描述】:
希望有人能帮我解决以下问题..
我执行以下查询:
$key = "privatehashere";
$query = file_get_contents("https://privateurlhere/?key_id=" . $key . "¶mshere");
根据官方文档,我知道输出是一个 JSON,它是编码的。所以我对其进行解码并转换为 PHP 数组:
$result = json_decode($query, true);
此时,当我使用 <pre> 标签和 print_r 函数显示输出时,我得到:
Array
(
[status] => ok
[data] => Array
(
[grp] => Array
(
[0] => Array
(
[number] => 24384
[desc] => ENTITY-2
)
[1] => Array
(
[number] => 46590
[desc] => ENTITY-1
)
)
)
)
我需要的是将最终值保存到变量中,以便我可以进一步使用它们。所以理想的结果应该是:
$number_0 = "24384"
$desc_0 = "ENTITY-2"
$number_1 = "46590"
$desc_1 = "ENTITY-1"
感谢您的任何建议/提示。
【问题讨论】:
-
你能分享你的尝试吗?
-
这些变量很难称得上“理想”
-
为什么要把它们放在标量变量中?它们在一个数组中,将它们留在那里并通过寻址数组来使用值,即
if ( $result['status'] == 'ok' ){如果你给变量$result一个更有意义的名称,它将成为自我记录! -
@GeraldSchneider 我的错。其他人已经告诉我他们有什么问题。无论如何,下次尝试更具体;-)
-
我在哪里说你应该修改任何东西。执行
json_decode()后,您将拥有一个完全属于您的数组。去处理,去爱和珍惜,修正或不修正。将其全部复制到新的标量变量中只会使您的内存需求加倍并增加您的运行时间。如果您更喜欢使用对象,请将,true与json_decode()分开,我敢打赌您会得到一个很好的对象来处理
标签: php arrays json loops variables