3v4l.org

run code in 300+ PHP versions simultaneously
<?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