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);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
array ( 0 => 24, )

preferences:
119.61 ms | 406 KiB | 5 Q