Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用户输入后给出响应的静态算法_Php_Algorithm - Fatal编程技术网

Php 用户输入后给出响应的静态算法

Php 用户输入后给出响应的静态算法,php,algorithm,Php,Algorithm,我有两个数组:F的长度为4,S的长度为25 用户可以从上述两个数组中选择任意数量的元素,例如从F中选择任意2个,从S中选择任意10个。根据用户选择的内容,我已从长度为100的另一个数组R中向用户作出响应。 我试着制作if-else,但在制作完之后就筋疲力尽了 100个。 那么有没有更好的方法 我的目标是为用户提供数组R中的一个索引 注:不涉及人工智能 编辑 目前我所做的是: if(in_array(1,$F) && in_array(12,$S)){ return $R[3

我有两个数组:
F的长度为4,S的长度为25

用户可以从上述两个数组中选择任意数量的元素,例如从F中选择任意2个,从S中选择任意10个。根据用户选择的内容,我已从长度为100的另一个
数组R中向用户作出响应。
我试着制作if-else,但在制作完之后就筋疲力尽了
100个。
那么有没有更好的方法

我的目标是为用户提供数组R中的一个索引

注:不涉及人工智能

编辑 目前我所做的是:

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];
}..........

像这样的?创建类似@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)

什么问题是什么?一些代码会很好!你的目标是什么?!你已经准备好所有的数组了吗?是的,我已经准备好了所有的数组。所以,返回
$array100[2*10]
。您的索引可能是2*10。算法描述不清楚。