【问题标题】:Create a n.2 PHP array from JSON output从 JSON 输出创建一个 n.2 PHP 数组
【发布时间】:2016-10-10 10:38:28
【问题描述】:

我正在使用

$data=json_decode($response,true)

输出是

 array(3) 
{
    ["instrument"]=> string(7) "EUR_USD" ["granularity"]=> string(1) "D" ["candles"]=> array(10) 
    {
        [0]=> array(7) 
        { 
            ["time"]=> string(27) "2016-09-26T21:00:00.000000Z" ["openMid"]=> float(1.125495) ["highMid"]=> float(1.1259) ["lowMid"]=> float(1.119125) ["closeMid"]=> float(1.121605) ["volume"]=> int(17059) ["complete"]=> bool(true) 
        } 
        [1]=> array(7) 
        { 
            ["time"]=> string(27) "2016-09-27T21:00:00.000000Z" ["openMid"]=> float(1.1218) ["highMid"]=> float(1.12369) ["lowMid"]=> float(1.118215) ["closeMid"]=> float(1.12171) ["volume"]=> int(17915) ["complete"]=> bool(true)  
        } 
    } 
}

我想创建两个具有 openMid 和 closeMid 值的数组,例如:

$open=array(1.125495,1.1218)
$close=array(1.121655,1.12171)

为了实现这一点,我必须开发 foreach 代码。 任何人都可以帮助我吗?谢谢

【问题讨论】:

  • 我能看到真正的数组本身吗
  • 嗨,这是 json 输出:{ "instrument" : "EUR_USD", "granularity" : "D", "candles" : [ { "time" : "2016-10-06T21:00 :00.000000Z”,“openMid”:1.115185,“highMid”:1.12049,“lowMid”:1.110455,“closeMid”:1.12013,“volume”:43707,“complete”:true },{“time”:“2016- 10-09T21:00:00.000000Z", "openMid" : 1.11794, "highMid" : 1.120455, "lowMid" : 1.115675, "closeMid" : 1.116005, "volume" : 11271, "complete" : false } ] }跨度>

标签: php arrays


【解决方案1】:

查看以下解决方案:

$open= [];              //Declare empty array to hold openMid values
$close= [];             //Declare empty array to hold closeMid values

#Loop through $array 
foreach ($array as $key => $value) {
    #If any of the value is an array
    if (is_array($value)) { 
        $arr= $value;       //Store the array
    }
}

//Loop through the second array
foreach ($arr as $val) {
    //If the value is of index openMid
    if ($val->openMid) {
        $open[]= $val->openMid;     //Push into the $open array holder
    }

    //If the value is of index closeMid
    if ($val->closeMid) {
        $close[]= $val->closeMid;   //Push into the $close array holder
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 2010-11-28
    • 2022-12-02
    • 2018-04-19
    • 2013-06-11
    • 2016-11-22
    • 2022-07-30
    • 2017-04-04
    相关资源
    最近更新 更多