I have the following code, which prints all combinations of the given numbers. It returns a fatal error when $numbers
contains two equal numbers.
I get the following error:
Fatal error: Maximum execution time of 30 seconds exceeded in
C:/Apache24/htdocs/index.php on line 18
My Code:
<?php
$numbers = array("2","1","4");
$numberofelements = count($numbers);
$factorial = 1;
for ($i=1; $i<=$numberofelements; $i++)
{
$factorial *= $i;
}
$quantitycombinations = $factorial;
$numbersdrawn = array();
while(true)
{
$exists = false;
$numberdrawn1 = "";
shuffle($numbers);
$numberdrawn1 = implode("", $numbers);
strval($numberdrawn1);
foreach ($numbersdrawn as $value) {
if(strval($value)==$numberdrawn1)
{
$exists = true;
}
}
if(!$exists){
array_push($numbersdrawn, $numberdrawn1);
if(count($numbersdrawn)==$quantitycombinations)
{
foreach($numbersdrawn as $item)
{
echo $item."<br>";
}
break;
}
}
}
?>