2 MayorMenor
<?php
class MayorMenor {
private int $mayor;
private int $menor;
public function setMayor(int $may) {
$this->mayor = $may;
}
public function setMenor(int $men) {
$this->menor = $men;
}
public function getMayor() : int {
return $this->mayor;
}
public function getMenor() : int {
return $this->menor;
}
}
//crea una nueva función que devuelve un nuevo objeto con los valores mayor y menor que se le pasen
function maymen(array $numeros) : ?MayorMenor {
$a = max($numeros);
$b = min($numeros);
$result = new MayorMenor();
$result->setMayor($a);
$result->setMenor($b);
return $result;
}
$resultado = maymen([1,76,9,388,41,39,25,97,22]);
echo "<br>Mayor: ".$resultado->getMayor();
echo "<br>Menor: ".$resultado->getMenor();
/*
Este código define una función en PHP llamada `maymen` que recibe un arreglo de números (`array $numeros`) y devuelve un objeto de tipo `MayorMenor` que contiene el mayor y el menor valor del arreglo. Vamos a analizar el código línea por línea:
### Explicación
function maymen(array $numeros) : ?MayorMenor {
1. `function maymen(array $numeros) : ?MayorMenor`
- Define una función llamada `maymen` que recibe un único parámetro:
- `array $numeros`**: Es un arreglo (`array`) de números que se pasa a la función.
- **`: ?MayorMenor`**: Especifica el tipo de retorno de la función. La interrogación (`?`) antes de `MayorMenor` indica que la función puede devolver un objeto de tipo `MayorMenor` o `null` (opcional, por si no hay números en el arreglo, aunque este caso no se maneja explícitamente en el código).
```php
$a = max($numeros);
$b = min($numeros);
$a = max($numeros);
y$b = min($numeros);
:max($numeros)
: Esta función nativa de PHP devuelve el valor máximo en el arreglo$numeros
y lo asigna a$a
.min($numeros)
: Similarmente,min($numeros)
devuelve el valor mínimo del arreglo$numeros
y lo asigna a$b
.
$result = new MayorMenor();
$result = new MayorMenor();
:- Crea una nueva instancia de la clase
MayorMenor
(que debería estar definida en otra parte del código) y la asigna a la variable$result
.
$result->setMayor($a);
$result->setMenor($b);
$result->setMayor($a);
y$result->setMenor($b);
:- Asigna el valor de
$a
(el valor máximo del arreglo) a la propiedadmayor
del objeto$result
mediante el métodosetMayor
. - Asigna el valor de
$b
(el valor mínimo del arreglo) a la propiedadmenor
del objeto$result
mediante el métodosetMenor
. - Estos métodos (
setMayor
ysetMenor
) deberían estar definidos dentro de la claseMayorMenor
y permiten establecer los valores máximo y mínimo en el objeto.
return $result;
}
return $result;
:- Devuelve el objeto
$result
de tipoMayorMenor
, que ahora contiene los valores máximo y mínimo del arreglo$numeros
.
}
### Resumen
La función `maymen` toma un arreglo de números, encuentra el valor máximo y mínimo en el arreglo y los almacena en un objeto de tipo `MayorMenor`. Luego, devuelve este objeto. Este tipo de función es útil para encapsular el valor máximo y mínimo de un conjunto de datos en un solo objeto.
*/
?>