Trabajo Práctico PHP
Trabajo Práctico PHP
Nivel Fácil
Nivel Intermedio
21. Enunciado: Imprimir los números del 1 al 10, pero omitir el número 5 usando
continue.
22. <?php
23. for ($i = 1; $i <= 10; $i++) {
24. if ($i == 5) continue;
25. echo $i . " ";
26. }
27. // Resultado: 1 2 3 4 6 7 8 9 10
28. ?>
29. Enunciado: Usar un switch para verificar el día de la semana (de 1 a 7).
30. <?php
31. $dia = 3;
32. switch ($dia) {
33. case 1:
34. echo "Lunes";
35. break;
36. case 2:
37. echo "Martes";
38. break;
39. case 3:
40. echo "Miércoles"; // Resultado: Miércoles
41. break;
42. default:
43. echo "Día desconocido";
44. }
45. ?>
46. Enunciado: Sumar todos los números de un array.
47. <?php
48. $numeros = [1, 2, 3, 4, 5];
49. $suma = 0;
50. foreach ($numeros as $numero) {
51. $suma += $numero;
52. }
53. echo $suma; // Resultado: 15
54. ?>
55. Enunciado: Imprimir los números pares del 1 al 10 usando un bucle for.
56. <?php
57. for ($i = 1; $i <= 10; $i++) {
58. if ($i % 2 == 0) {
59. echo $i . " ";
60. }
61. }
62. // Resultado: 2 4 6 8 10
63. ?>
64. Enunciado: Usar break para salir de un bucle cuando se llegue a un número
específico.
65. <?php
66. for ($i = 1; $i <= 10; $i++) {
67. if ($i == 6) break;
68. echo $i . " ";
69. }
70. // Resultado: 1 2 3 4 5
71. ?>
72. Enunciado: Encontrar el mayor de tres números usando if-else.
73. <?php
74. $a = 7;
75. $b = 10;
76. $c = 5;
77. if ($a > $b && $a > $c) {
78. echo "El mayor es A"; // Resultado: El mayor es A
79. } elseif ($b > $a && $b > $c) {
80. echo "El mayor es B";
81. } else {
82. echo "El mayor es C";
83. }
84. ?>
85. Enunciado: Verificar si un número es divisible por 3 y 5.
86. <?php
87. $a = 15;
88. if ($a % 3 == 0 && $a % 5 == 0) {
89. echo "Es divisible por 3 y 5"; // Resultado: Es divisible por
3 y 5
90. }
91. ?>
92. Enunciado: Imprimir los números del 1 al 20 usando while, pero solo los múltiplos
de 3.
93. <?php
94. $i = 1;
95. while ($i <= 20) {
96. if ($i % 3 == 0) {
97. echo $i . " ";
98. }
99. $i++;
100. }
101. // Resultado: 3 6 9 12 15 18
102. ?>
103. Enunciado: Verificar si un número es mayor que 10 pero menor que 20.
104. <?php
105. $a = 15;
106. if ($a > 10 && $a < 20) {
107. echo "El número está entre 10 y 20"; // Resultado: El número
está entre 10 y 20
108. }
109. ?>
110. Enunciado: Imprimir los números del 1 al 10 en orden inverso usando un
bucle for.
111. <?php
112. for ($i = 10; $i >= 1; $i--) {
113. echo $i . " ";
114. }
115. // Resultado: 10 9 8 7 6 5 4 3 2 1
116. ?>
Nivel Avanzado
37. Enunciado: Crear una función que determine si un número es perfecto (un número
es perfecto si es igual a la suma de sus divisores propios).
38. <?php
39. function esPerfecto($n) {
40. $suma = 0;
41. for ($i = 1; $i <= $n / 2; $i++) {
42. if ($n % $i == 0) {
43. $suma += $i;
44. }
45. }
46. return $suma == $n;
47. }
48.
49. $numero = 6; // 6 es perfecto (1 + 2 + 3 = 6)
50. echo esPerfecto($numero) ? "Es perfecto" : "No es perfecto"; //
Resultado: Es perfecto
51. ?>
52. Enunciado: Crear una función recursiva que calcule la potencia de un número.
53. <?php
54. function potencia($base, $exponente) {
55. if ($exponente == 0) {
56. return 1;
57. } else {
58. return $base * potencia($base, $exponente - 1);
59. }
60. }
61.
62. echo potencia(2, 3); // Resultado: 8
63. ?>
64. Enunciado: Crear una función que reciba un array de números y devuelva el
número más grande.
65. <?php
66. function numeroMaximo($arr) {
67. return max($arr);
68. }
69.
70. $numeros = [12, 4, 45, 23, 9];
71. echo numeroMaximo($numeros); // Resultado: 45
72. ?>
73. Enunciado: Crear un script que imprima una pirámide de asteriscos de 5 niveles.
74. <?php
75. for ($i = 1; $i <= 5; $i++) {
76. for ($j = 1; $j <= 5 - $i; $j++) {
77. echo " ";
78. }
79. for ($k = 1; $k <= (2 * $i - 1); $k++) {
80. echo "*";
81. }
82. echo "<br>";
83. }
84. ?>
85. // Resultado:
86. // *
87. // ***
88. // *****
89. // *******
90. // *********
91. Enunciado: Crear una función que reciba un array de números y calcule su media.
92. <?php
93. function media($arr) {
94. return array_sum($arr) / count($arr);
95. }
96.
97. $numeros = [4, 5, 6, 7];
98. echo media($numeros); // Resultado: 5.5
99. ?>
100. Enunciado: Crear un script que imprima todos los números primos entre 1 y
100.
101. <?php
102. function esPrimo($num) {
103. for ($i = 2; $i <= sqrt($num); $i++) {
104. if ($num % $i == 0) return false;
105. }
106. return true;
107. }
108.
109. for ($i = 1; $i <= 100; $i++) {
110. if (esPrimo($i)) {
111. echo $i . " ";
112. }
113. }
114. // Resultado: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67
71 73 79 83 89 97
115. ?>
116. Enunciado: Crear un script que invierta una cadena de texto.
117. <?php
118. function invertirCadena($cadena) {
119. return strrev($cadena);
120. }
121.
122. echo invertirCadena("Hola Mundo!"); // Resultado: !odnuM aloH
123. ?>
124. Enunciado: Crear un script que calcule el máximo común divisor (MCD) de
dos números usando el algoritmo de Euclides.
125. <?php
126. function mcd($a, $b) {
127. while ($b != 0) {
128. $temp = $b;
129. $b = $a % $b;
130. $a = $temp;
131. }
132. return $a;
133. }
134.
135. echo mcd(56, 98); // Resultado: 14
136. ?>
137. Enunciado: Crear una función que verifique si una palabra es un
palíndromo.
138. <?php
139. function esPalindromo($palabra) {
140. $palabra = strtolower($palabra);
141. $invertida = strrev($palabra);
142. return $palabra == $invertida;
143. }
144.
145. echo esPalindromo("anilina") ? "Es un palíndromo" : "No es un
palíndromo"; // Resultado: Es un palíndromo
146. ?>
147. Enunciado: Crear un script que calcule la cantidad de vocales en una cadena
de texto.
148. <?php
149. function contarVocales($cadena) {
150. $vocales = ['a', 'e', 'i', 'o', 'u'];
151. $contador = 0;
152.
153. $cadena = strtolower($cadena);
154.
155. for ($i = 0; $i < strlen($cadena); $i++) {
156. if (in_array($cadena[$i], $vocales)) {
157. $contador++;
158. }
159. }
160.
161. return $contador;
162. }
163.
164. echo contarVocales("Hola Mundo!"); // Resultado: 4
165. ?>
166. Enunciado: Crear un script que imprima los primeros 10 números de la
serie de Fibonacci usando un bucle for.
167. <?php
168. $n1 = 0;
169. $n2 = 1;
170. echo $n1 . " " . $n2 . " ";
171.
172. for ($i = 3; $i <= 10; $i++) {
173. $n3 = $n1 + $n2;
174. echo $n3 . " ";
175. $n1 = $n2;
176. $n2 = $n3;
177. }
178. // Resultado: 0 1 1 2 3 5 8 13 21 34
179. ?>
180. Enunciado: Crear un script que reciba una fecha en formato "dd-mm-yyyy"
y la convierta a formato "yyyy-mm-dd".
181. <?php
182. function convertirFecha($fecha) {
183. $fechaArray = explode("-", $fecha);
184. return $fechaArray[2] . "-" . $fechaArray[1] . "-" .
$fechaArray[0];
185. }
186.
187. echo convertirFecha("18-03-2025"); // Resultado: 2025-03-18
188. ?>
189. Enunciado: Crear una función que cuente la cantidad de palabras en una
cadena de texto.
190. <?php
191. function contarPalabras($cadena) {
192. return str_word_count($cadena);
193. }
194.
195. echo contarPalabras("Este es un texto de prueba."); // Resultado:
5
196. ?>
197. Enunciado: Crear un script que ordene un array de cadenas de texto
alfabéticamente.
198. <?php
199. $frutas = ["manzana", "banana", "pera", "cereza", "naranja"];
200. sort($frutas);
201. print_r($frutas);
202. // Resultado: Array ( [0] => banana [1] => cereza [2] => manzana
[3] => naranja [4] => pera )
203. ?>
Nivel Experto
51. Enunciado: Crear una función que encuentre el menor valor de un array
multidimensional.
52. <?php
53. function menorValor($arr) {
54. $min = min(array_map('min', $arr));
55. return $min;
56. }
57.
58. $array = [[12, 45, 2], [67, 9, 34], [7, 22, 15]];
59. echo menorValor($array); // Resultado: 2
60. ?>
61. Enunciado: Crear una función que reciba un número y devuelva su representación
binaria en forma de cadena.
62. <?php
63. function aBinario($numero) {
64. return decbin($numero);
65. }
66.
67. echo aBinario(25); // Resultado: 11001
68. ?>
69. Enunciado: Crear un script que convierta una cadena en formato "yyyy-mm-dd" a
formato "dd-mm-yyyy".
70. <?php
71. function convertirFechaInversa($fecha) {
72. $fechaArray = explode("-", $fecha);
73. return $fechaArray[2] . "-" . $fechaArray[1] . "-" .
$fechaArray[0];
74. }
75.
76. echo convertirFechaInversa("2025-03-18"); // Resultado: 18-03-2025
77. ?>
78. Enunciado: Crear una función que reciba un array de cadenas y las concatene en
una sola.
79. <?php
80. function concatenarArray($arr) {
81. return implode(" ", $arr);
82. }
83.
84. $palabras = ["Hola", "Mundo", "!"];
85. echo concatenarArray($palabras); // Resultado: Hola Mundo !
86. ?>
87. Enunciado: Crear una función que calcule el área de un círculo dado su radio.
88. <?php
89. function areaCirculo($radio) {
90. return pi() * pow($radio, 2);
91. }
92.
93. echo areaCirculo(5); // Resultado: 78.539816339744
94. ?>
95. Enunciado: Crear un script que genere una tabla de multiplicar de un número dado.
96. <?php
97. $num = 7;
98. for ($i = 1; $i <= 10; $i++) {
99. echo "$num x $i = " . $num * $i . "<br>";
100. }
101. ?>
102. // Resultado:
103. // 7 x 1 = 7
104. // 7 x 2 = 14
105. // ...
106. Enunciado: Crear un script que reciba una cadena de texto y elimine todos
los espacios al inicio y al final.
107. <?php
108. function eliminarEspacios($cadena) {
109. return trim($cadena);
110. }
111.
112. echo eliminarEspacios(" Texto con espacios "); // Resultado:
"Texto con espacios"
113. ?>
114. Enunciado: Crear una función que calcule la cantidad de días entre dos
fechas.
115. <?php
116. function calcularDiferenciaDias($fecha1, $fecha2) {
117. $fecha1 = strtotime($fecha1);
118. $fecha2 = strtotime($fecha2);
119. return abs($fecha2 - $fecha1) / (60 * 60 * 24);
120. }
121.
122. echo calcularDiferenciaDias("2025-03-18", "2025-03-25"); //
Resultado: 7
123. ?>
124. Enunciado: Crear una función que reciba un array de números y devuelva el
segundo mayor.
125. <?php
126. function segundoMayor($arr) {
127. rsort($arr);
128. return $arr[1];
129. }
130.
131. echo segundoMayor([3, 5, 7, 2, 4]); // Resultado: 5
132. ?>
133. Enunciado: Crear una función que calcule el área de un triángulo dado su
base y su altura.
134. <?php
135. function areaTriangulo($base, $altura) {
136. return ($base * $altura) / 2;
137. }
138.
139. echo areaTriangulo(10, 5); // Resultado: 25
140. ?>