<?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],
],
];
var_export(
array_keys(
array_filter(
$allScores,
fn($scores) => !array_udiff_assoc(
$criteria,
array_column($scores, 'gd_score', 'skill_id'),
fn($cVal, $sVal) => $cVal >= $sVal
)
)
)
);
preferences:
26.51 ms | 408 KiB | 5 Q