<?php
$criteria = [3 => 2, 63 => 6, 128 => 3];
$allScores = [
22 => [
['skill_id' => 3, 'gd_score' => 4],
['skill_id' => 999, 'gd_score' => 9],
['skill_id' => 128, 'gd_score' => 7],
],
23 => [
['skill_id' => 128, 'gd_score' => 3],
],
24 => [
['skill_id' => 63, 'gd_score' => 8],
['skill_id' => 3, 'gd_score' => 7],
['skill_id' => 128, 'gd_score' => 9],
],
25 => [
['skill_id' => 3, 'gd_score' => 7],
['skill_id' => 63, 'gd_score' => 8],
['skill_id' => 128, 'gd_score' => 1],
],
26 => [
['skill_id' => 3, 'gd_score' => 2],
['skill_id' => 63, 'gd_score' => 6],
['skill_id' => 128, 'gd_score' => 3],
],
];
$result = [];
foreach ($allScores as $key => $scores) {
$skillScores = array_column($scores, 'gd_score', 'skill_id');
foreach ($criteria as $id => $toBeat) {
if (($skillScores[$id] ?? 0) <= $toBeat) {
continue 2;
}
}
$result[] = $key;
}
var_export($result);
preferences:
27.68 ms | 405 KiB | 5 Q