我正在使用以Json格式获取数据的API。
[
{
“id”:“比特币”,
“名称”:“比特币”,
“符号”:“BTC”,
“等级”:“1”,
“price_usd”:“7365.07”,
“price_btc”:“1.0”,
“24h_volume_usd”:“4900640000.0”,
“market_cap_usd”:“124873929597”,
“available_supply”:“16954887.0”,
“total_supply”:“16954887.0”,
“max_supply”:“21000000.0”,
“percent_change_1h”:“0.55”,
“percent_change_24h”:“5.92”,
“percent_change_7d”:“ - 7.93”,
“last_updated”:“1522733968”,
“price_eur”:“5987.30108524”,
“24h_volume_eur”:“3983887076.48”,
“market_cap_eur”:“101514013335”
},
{
“id”:“ethereum”,
“名字”:“以太坊”,
“符号”:“ETH”,
“等级”:“2”,
“price_usd”:“397.12”,
“price_btc”:“0.0541563”,
“24h_volume_usd”:“1216740000.0”,
“market_cap_usd”:“39149486407.0”,
“available_supply”:“98583517.0”,
“total_supply”:“98583517.0”,
“max_supply”:null,
“percent_change_1h”:“0.07”,
“percent_change_24h”:“3.51”,
“percent_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
)
)
我只想从数组索引值匹配硬币等级数组键 coin_rank 的Json数组。
如果排名和硬币排名匹配,则只获取以太坊数组。否则被忽视
左。如果你没有明白我的意思,请毫不犹豫地问我。
此致
答案 0 :(得分:0)
运行循环并在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);