【发布时间】:2017-09-09 00:18:27
【问题描述】:
如何按值过滤多维数组?我想在这里删除带有重复符号的硬币:
$input = [
["name" => "Bitcoin", "symbol"=> "BTC"],
["name" => "Ethereum", "symbol"=> "ETH"],
["name" => "Bitcoin Cash", "symbol"=> "BCH"],
["name" => "Basic Attention Token", "symbol"=> "BAT"],
["name" => "BatCoin", "symbol"=> "BAT"]
]
输出是一个具有独特硬币符号的数组,例如这个。
$output = [
["name" => "Bitcoin", "symbol"=> "BTC"],
["name" => "Ethereum", "symbol"=> "ETH"],
["name" => "Bitcoin Cash", "symbol"=> "BCH"],
["name" => "Basic Attention Token", "symbol"=> "BAT"]
]
我试过了
$symbols = array_map(function($coin){
return $coin['symbol'];
}, $input);
$output = array_filter($input, function($coin) use ($symbols) {
return in_array($coin['symbol'], $symbols);
});
return $output;
但我仍然列出了 5 个硬币。
【问题讨论】:
-
添加您尝试过的内容,以便我们为您提供帮助!
-
老兄...我整个上午都在尝试 array_filter、array_map、array_diff_assoc、array_unique 等的所有组合,但我似乎仍然没有做对。
-
我认为没有提到的多维数组。它只是对象数组......
-
谢谢,更新问题
-
没有快速的方法来解决您需要循环的问题...