尝试比较两个PHP数组中的数字

尝试比较两个PHP数组中的数字,php,arrays,Php,Arrays,我正在尝试创建一个包含用户输入的数字的数组,然后创建另一个包含0到9之间的随机数字的数组。然后我想比较两个数组,当它们匹配时,回显一个结果 目前,我收到一个致命错误: 超过了30秒的最大执行时间 我知道在使用var\u dump后,元素被正确地输入到数组中 $i = 0; while(!in_array($lotArray, $userArray)) { $i ++; } echo "YOU WON it took".$i."times"; ?> 这很好用 $count

我正在尝试创建一个包含用户输入的数字的数组,然后创建另一个包含0到9之间的随机数字的数组。然后我想比较两个数组,当它们匹配时,回显一个结果

目前,我收到一个致命错误:

超过了30秒的最大执行时间

我知道在使用
var\u dump
后,元素被正确地输入到数组中

$i = 0;
while(!in_array($lotArray, $userArray)) {
   $i ++;
}

echo "YOU WON it took".$i."times";
?>

这很好用

$count     =   //your wish of getting random numbers.
$randarr   =   range('0','9');

$randarr   =   array_rand($randarr,$count);

$difference=   array_diff($randarr,$arr);   //let $arr be your array

if(count($difference)==0)
{
    //your display code
}

这使您能够创建用户选择的任意数量的随机数

这很好用

$count     =   //your wish of getting random numbers.
$randarr   =   range('0','9');

$randarr   =   array_rand($randarr,$count);

$difference=   array_diff($randarr,$arr);   //let $arr be your array

if(count($difference)==0)
{
    //your display code
}

这使您能够创建用户选择的任意数量的随机数

使用迭代方法比较每个数字是
Oh(n²)
,因为您必须比较X乘以X个数字

相反,采取一种简单的方法:

  • 以相同的方式对两个数组进行排序。(
    Oh(n log n)
    每个)
  • 用它们创建一个字符串(
    Oh(n)
  • 比较字符串。(
    Oh(n)


}

使用迭代方法比较每个数字是
Oh(n²)
,因为您必须比较X乘以X个数字

相反,采取一种简单的方法:

  • 以相同的方式对两个数组进行排序。(
    Oh(n log n)
    每个)
  • 用它们创建一个字符串(
    Oh(n)
  • 比较字符串。(
    Oh(n)


}

如果要比较两个阵列(所有数字必须相同,顺序相同):


如果要比较两个阵列(所有数字必须相同,顺序相同):


如果
in_array()
返回一次
false
,您怎么会认为将
1
添加到
$i
会改变结果<数组中的code>仍然为false。想一想:“去商店买晚餐吧。”好吧,我买了些冰淇淋。“不,去商店买晚餐。”好吧,我又买了一个冰淇淋。“去商店。”“你想搜索的值是什么?”似乎它们都是数组。如果你能写下两个数组的var_dump输出示例,我们就更容易给出帮助了。我意识到这是错误的。每次为false后,我希望再次重建随机数数组,然后使用用户输入的数组进行检查。比如说,如果我的第一个数组中有1,1,1,1,1,我只希望在随机数数组中也有1,1,1,1,1 in的情况下它能工作,如果
in_array()
返回
false
一次,是什么让您认为将
1
添加到
$i
会改变结果<数组中的code>仍然为false。想一想:“去商店买晚餐吧。”好吧,我买了些冰淇淋。“不,去商店买晚餐。”好吧,我又买了一个冰淇淋。“去商店。”“你想搜索的值是什么?”似乎它们都是数组。如果你能写下两个数组的var_dump输出示例,我们就更容易给出帮助了。我意识到这是错误的。每次它为false后,我希望再次重建随机数数组,然后用用户输入的数组进行检查。比如说,如果我的第一个数组中有1,1,1,1,1,我只希望它在随机数数组中也有1,1,1,1时工作
$a1 = array(1, 9, 4);
$a2 = array(1, 9, 4);

if (count(array_diff($a1,$a2)) == 0)
    echo "Both array match";