Añado otro ejercicio. La función es, rotar N numeros de un array , pasandolos de alante a atrás.
rota(2, array(10,4,3,2,1,2,4,5,6,7,8,8,9)) --> devolverá array(3,2,1,2,4,5,6,7,8,8,9, 10, 4)
function rota(int $cantidad, array $lista):array{
switch($cantidad){
case 0: break;
default:
array_push($lista, array_shift($lista));
$cantidad--;
$lista = rota($cantidad, $lista);
}
return $lista;
}
var_dump( rota(2, array(10,4,3,2,1,2,4,5,6,7,8,8,9)) );
Dado un array, la funcion palindromo(array) te indica si es palindromo o no, true false.function compareFalse(bool $numero, bool $numero2):bool{ return ($numero && $numero2) ? true : false; }
function palindromo(array $lista):bool
{
if(count($lista) > 1 ){
return compareFalse( ( array_shift($lista) == array_pop($lista) ), palindromo($lista) );
}
return true;
}
var_dump(palindromo(array(3,2,1,1,2,3)) );
var_dump(palindromo(array(4,3,1,3,4) ) );
var_dump( palindromo(array(4,1,3,4) ) );