Статический алгоритм для ответа после ввода пользователя

0

У меня есть 2 массива: F of length 4 and S of length 25
Пользователь может выбрать любой из этих элементов из указанных выше двух массивов
Например, для выбора 2 из F и 10 из S.Based на том, какой пользователь выбрал, я дал ответ пользователю от моего другого array R of length 100. Я попытался сделать, если еще, но был исчерпан после создания из них 100. Так есть ли лучший подход для этого?

Моя цель - дать пользователю один из индекса из массива R.

PS. Нет искусственного интеллекта (AI).

EDIT В настоящее время я сделал:

if(in_array(1,$F) && in_array(12,$S)){
   return $R[3];
}else if(in_array(1,$F) && in_array(17,$s)){
   return $R[91];
}else if(in_array(2,$F) && in_array(1,$F) && in_array(21,$S) &&  in_array(25,$S)){
   return $R[23];
}else if(in_array(3,$F) && in_array(21,$S) && in_array(7,$S)){
   return $R[17];
}..........
  • 0
    Какая? в чем вопрос? Какой-то код был бы хорош! Какова твоя цель?!
  • 0
    У вас уже есть все эти массивы?
Показать ещё 10 комментариев
Теги:
algorithm

1 ответ

0

Что-то вроде этого? Создание карты, например, @zerkms.

function getRKey(array $f, array $s)
    {
    // values map by order
    $map_r_array = [
        3 => ['f' => [1], 's' => [12]],
        91 => ['f' => [1], 's' => [17]],
        23 => ['f' => [1, 2], 's' => [21, 25]],
        17 => ['f' => [3], 's' => [7, 21]],
    ];
    foreach ($map_r_array as $key => $check)
        {
        // check one by one.
        if (!array_diff($check['f'], $f) && !array_diff($check['s'], $s))
            {
            return $key;
            }
        }
    return null;
    }

$f = [1, 2, 3];
$s = [7, 21];

var_dump(getRKey($f, $s)); // int(17)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню