Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Operador de nave espacial

18/25
Recursos

Aportes 7

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Funciones para ordenar un arreglo en PHP:

sort() : ordena un arreglo de menor a mayor.

usort() : arregla un arreglo, pero necesita también como parámetro una función, así podemos ordenar un arreglo según nuestra necesidad.

existen mas, las puedes buscar en : https://www.php.net/manual/es/array.sorting.php

Operador Nave Espacial <=>

También se puede implementar con string
.
Las primeras letras o todas mayúsculas o todas minúsculas para que ordene alfabéticamente.

$palabras = ["Hola", "Abecedario", "Perro", "Gato"];
usort($palabras, function($a, $b){
    return $a <=> $b;

});
foreach ($palabras as $clave => $valor) {
    echo "Clave[" . $clave . "] = " . $valor . "\n";
}

Recorre todo el arreglo comparando los valores, verifica si un numero es mayor, igual o menor que el otro

Operador Nave Espacial

$precios = [15, 30, 12, 45, 1, 2, 56, 99];
usort($precios, function($a, $b) {
  return $a <=> $b;
});
print_r($precios);
  • usort es una funcion de Orden superior puesto que dentro de si misma lleva como argumento otra funcion.
<?php

$cafe_price = [12,34,1,13,23];

#Utilizamos una funcion anonima
usort($cafe_price,function($a,$b){
/*El operador Spaceship "<=>" retorna valores
entre -1 y 1 y esto es exactamente lo que utiliza
usort() para ordenar.
1. usort() toma los dos primeros valores de arreglo
2. function los recibe y retorna:
#$a<$b:
echo $var_a <=> $var_d;
#Out: 🙃 -1

#$a>$b:
echo $var_d <=> $var_a;
#Out: 🙃 1

##$a==$b:
echo $var_a <=> $var_b;
#Out: 🙃 0
    return $a <=> $b;
3. usort utiliza el valor retornado para ordenar
el array. 
*/
return $a<=>$b;
});

var_dump($cafe_price);

/*🙃Out: array(5) { 
    [0]=> int(1) 
    [1]=> int(12) 
    [2]=> int(13) 
    [3]=> int(23) 
    [4]=> int(34) 
}*/	

¿Aparte del operador ‘nave espacial’ que otro operador existe?