Agora:
Parece estar resolvido, segue o código:
function verificarRepetido($resultadoArray)
{
$primosAteOitenta = array(2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79);
for ($i = 0, $j = count($resultadoArray) - 1; $i < count($resultadoArray); $i++, $j--) {
for($j = 0; $j < count($resultadoArray); $j++) {
if($i == $j){
continue;
}
if($resultadoArray[$i] == $resultadoArray[$j]){
$resultadoArray[$i] = rand(1,80);
verificarRepetido($resultadoArray);
}
}
} // SÓ SAI DAQUI, QUANDO NÃO HAVER MAIS REPETIDOS
/*echo "depois do primeiro FOR de REPETIDOS";
print_r($resultadoArray);*/
for ($i = 0; $i < count($resultadoArray); $i++) {
for ($j = 0; $j < count($primosAteOitenta); $j++) {
if ($resultadoArray[$i] == $primosAteOitenta[$j]) {
$resultadoArray[$i] = rand(1, 80);
verificarRepetido($resultadoArray);
}
}
} // SÓ SAI DAQUI, QUANDO NÃO HAVER NÚMEROS PRIMOS
sort($resultadoArray);
for ($i = 0; $i < count($resultadoArray); $i++) { // FOR DA IMPRESSÃO DO ARRAY COM VÍRGULAS EM FORMATO CONJUNTO
if ($i == count($resultadoArray) - 1) {
echo "$resultadoArray[$i]";
break;
}
echo "$resultadoArray[$i], ";
}
}
Anterioemente:
Bom dia.
O que tem de errado nessa função recursiva que não passa do primeiro FOR?
function verificarRepetido($resultadoArray)
{
$primosAteOitenta = array(2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79);
for ($i = 0, $j=count($resultadoArray) - 1; $i < count($resultadoArray); $i++, $j--) {
if($resultadoArray[$i] == $resultadoArray[$j]) {
$resultadoArray[$i] = rand(1,80);
verificarRepetido($resultadoArray);
}
} // SÓ SAI DAQUI, QUANDO NÃO HAVER MAIS REPETIDOS
echo "depois do primeiro FOR de REPETIDOS";
print_r($resultadoArray);
for ($i = 0; $i < count($resultadoArray); $i++) {
for($j = 0; $j < count($primosAteOitenta); $j++) {
if($resultadoArray[$i] == $primosAteOitenta[$j]){
$resultadoArray[$i] = rand(1,80);
verificarRepetido($resultadoArray);
}
}
} // SÓ SAI DAQUI, QUANDO NÃO HAVER NÚMEROS PRIMOS
sort($resultadoArray);
for($i = 0; $i < count($resultadoArray); $i++) { // FOR DA IMPRESSÃO DO ARRAY COM VÍRGULAS EM FORMATO CONJUNTO
if($i == count($resultadoArray) - 1){
echo "$resultadoArray[$i]";
}
echo "$resultadoArray[$i], ";
}
}