我有一个以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