php中的嵌套数组

时间:2014-03-15 22:47:43

标签: php arrays api

我在处理嵌套数组时遇到了麻烦,我从API中得到了结果。 Print_r($result, true);返回一个看起来像这样的数组(只有更长的时间):

Array
(
    [success] => 1
    [return] => Array
        (
            [sellorders] => Array
                (
                    [0] => Array
                        (
                            [sellprice] => 0.00000059
                            [quantity] => 1076.00000000
                            [total] => 0.00063484
                        )

                    [1] => Array
                        (
                            [sellprice] => 0.00000060
                            [quantity] => 927.41519000
                            [total] => 0.00055645
                        )
                )

            [buyorders] => Array
                (
                    [0] => Array
                        (
                            [buyprice] => 0.00000058
                            [quantity] => 6535.77328102
                            [total] => 0.00379075
                        )

                    [1] => Array
                        (
                            [buyprice] => 0.00000057
                            [quantity] => 118539.39620414
                            [total] => 0.06756746
                        )
                )

        )

)

我需要从两个数组(卖方和买方)的第一个指数中获取3个值(卖出价/买入价,数量,总数)并将它们存储在变量中($ sellprice,$ sellquantity,$ selltotal)。

我可以在this page的底部找到我正在使用的完整示例php脚本。谁能帮我解决这个问题呢?

4 个答案:

答案 0 :(得分:1)

在php中,数组可以或多或少具有无限维度。您可以通过添加另一组方括号来深入数组的维度。例如,

$array['deep']['deeper']['deepest'][0];

假设卖家和买家的指数在你的数组中相同,你可以做到

$sellprice = $result['return']['sellorders'][0]['sellprice'];
$sellquantity = $result['return']['sellorders'][0]['quantity'];
$selltotal = $result['return']['sellorders'][0]['total'];

答案 1 :(得分:1)

该值应如下所示:

$sellprice = $array['return']['sellorders'][0]['sellprice']

您可能想要考虑如何迭代这些嵌套数组以便选择所有值。此外,如果您可以控制输出,我可能最好使用不同的数据结构来实现更轻松的处理。

答案 2 :(得分:0)

您可以通过在末尾添加另一对带有适当索引的方括号来访问嵌套数组的值:

$array['outer']['inner'];

您可以将此知识传输到特定阵列。

答案 3 :(得分:0)

如果你想通过所有这些阵列......试试这个:

for($i=0; $i<count($array['return']['sellorders']); $i++) {
  $this_array = $array['return']['sellorders'][$i];
  var_dump($this_array); // it includes sellprice, quantity and total for each entity now.
}

也可以使用与上述相同的方法购买订单。