在PHP中将阵列与JSON结合



我有一个以JSON格式获取数据的API。

[
  {
      " id":"比特币",
      "名称":"比特币",
      "符号":" BTC",
      "等级":" 1",
      " Price_usd":" 7365.07",
      " price_btc":" 1.0",
      " 24H_VOLUME_USD":" 4900640000.0",
      " market_cap_usd":" 124873929597",
      "可用_supply":" 16954887.0",
      " total_supply":" 16954887.0",
      " max_supply":" 21000000.0",
      " percen_change_1h":" 0.55",
      " percen_change_24h":" 5.92",
      " percen_change_7d":" -7.93",
      " last_updated":" 1522733968",
      " Price_eur":" 5987.30108524",
      " 24H_VOLUME_EUR":" 3983887076.48",
      " market_cap_eur":" 101514013335"
    },
    {
      " id":"以太坊",
      "名称":"以太坊",
      "符号":" eth",
      "等级":" 2",
      " Price_usd":" 397.12",
      " price_btc":" 0.0541563",
      " 24H_VOLUME_USD":" 1216740000.0",
      " market_cap_usd":" 39149486407.0",
      "可用_supply":" 98583517.0",
      " total_supply":" 98583517.0",
      " max_supply":null,
      " percen_change_1h":" 0.07",
      " percen_change_24h":" 3.51",
      " percon_change_7d":" -15.33",
      " last_updated":" 1522733953",
      " Price_eur":" 322.83155584",
      " 24H_VOLUME_EUR":" 989126881.68",
      " market_cap_eur":" 31825870284.0"
    }
]

另一方面,我有对象数组

Array

(( [0] => stdclass对象 (( [id] => 42 [user_id] => 39 [COIN_RANK] => 2 (

[1] => stdClass Object
    (
        [id] => 3
        [user_id] => 39
        [coin_rank] => 6
    )
[2] => stdClass Object
    (
        [id] => 8
        [user_id] => 39
        [coin_rank] => 8
    )

(



我只需要json数组,匹配硬币等级数组键 COIN_RANK 来自数组索引值。

喜欢仅获得以太坊数组,如果等级和硬币等级匹配。否则被忽略


对不起,如果您没有明白我的意思,请毫不犹豫地问我。

问候

运行循环并在JSON数组中找到rank键。

       $jsonArr = json_decode($json, true);
       $new = array();
       foreach($arr as $v){
           $key = array_search($v->coin_rank, array_column($jsonArr, 'rank'));
           if($key !== false){
               $new[] =  $jsonArr[$key];
           }
       }
       print_r($new);

demo

最新更新