No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Operadores relacionales

18/24
Recursos

Los operadores relacionales son aquellos que ayudan a comparar dos valores.

Operadores relacionales en PHP

En PHP disponemos de estos operadores:

Nombre Descripci贸n Operador Ejemplo Resultado
Igual Compara si 2 variables son iguales en cuanto a sus valores m谩s NO respecto a sus tipos de datos. == $a == $b true si $a es igual a $b
Id茅ntico Compara si 2 variables son iguales respecto a sus valores y tipos de datos. === $a === $b true si $a es igual a $b, y son del mismo tipo.
Diferente #1 Compara si 2 variables NO son iguales en cuanto a sus valores m谩s NO respecto a sus tipos de datos. != $a != $b true si $a no es igual a $b
Diferente #2 Compara si 2 variables NO son iguales en cuanto a sus valores m谩s NO respecto a sus tipos de datos. <> $a <> $b true si $a no es igual a $b
No id茅ntico Compara si 2 variables NO son iguales en cuanto a sus valores o tipos de datos. !== $a !== $b true si $a no es igual a $b, o si no son del mismo tipo.
Menor que Eval煤a si un n煤mero es menor que otro. < $a < $b true si $a es estrictamente menor que $b.
Mayor que Eval煤a si un n煤mero es mayor que otro. > $a > $b true si $a es estrictamente mayor que $b.
Menor o igual que Eval煤a si un n煤mero es menor o igual que otro. <= $a <= $b true si $a es menor o igual que $b.
Mayor o igual que Eval煤a si un n煤mero es mayor o igual que otro. >= $a >= $b true si $a es mayor o igual que $b.

Operadores especiales

PHP posee un par de operadores que en la mayor铆a de lenguajes, si es que en ninguno, no los encuentras y est谩n disponibles a partir de la versi贸n 7. Estas tienen el nombre de Nave espacial y Fusi贸n de null.

Nave espacial (<=>)

Est谩 representado por el siguiente s铆mbolo: <=>. Eval煤a si un n煤mero es menor que, igual a o mayor que otro, dando como resultados -1, 0 o 1 respectivamente:

<?php
# Variables
$a = 10;
$b = 5;

echo $a <=> $b; 

echo "\n";
#----------------------------------
/*
Mensaje en consola/navegador:
1
*/

La forma en que <=> eval煤a es la siguiente:

  • Si $a es menor que $b entonces devolver谩 -1.
  • Si $a es igual a $b entonces devolver谩 0.
  • Si $a es mayor que $b entonces devolver谩 1.

Fusi贸n de null (??)

Est谩 representado por el siguiente s铆mbolo: ??. La primera variable que S脥 est茅 definida y no sea null, de izquierda a derecha, es la que ser谩 utilizada. Veamos un ejemplo para entender mejor este tipo de operador:

<?php
# Variables:
$a = null;
$b = 40;
$c = 18;

echo $z ?? $a ?? $b ?? $c; 

echo "\n";
#----------------------------------
/*
Mensaje en consola/navegador:
40
*/

Observamos que $b y $c S铆 est谩n definidas y no son null, pero como $b est谩 antes que $c, tomando el orden de izquierda a derecha, esta es la que ser谩 impresa en pantalla. Por ello el resultado es 40.

Contribuci贸n creada por: Mart铆n 脕lvarez

Aportes 48

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Les dejo mi resumen de esta clase:

Operadores Relacionales

Igual, ==

No compara tipos, solo valores

Se denota con   ==

$a == $b

Id茅ntico, ===

Compara tipos y valores

Se denota con ===

Diferentes, ! =, ! ==

! = , no compara tipos,

! ==, compara tipos y valores,

Menor que, <

$a < $b

Mayor que, >

$a > $b

Mayor o Igual que, > =

$a 鈮 $b

Menor o Igual que, < =

$a < = $b

Operador de Nave Espacial, < = >

<?php
	echo 2 <=> 1;
	echo "\n";

echo 2 <=> 1; // 1
echo 1 <=> 1; // 0
echo -50 <=> 1 //
  • Si el numero de la izquierda es mayor el numero de la derecha, el resultado ser谩 1
  • Si el numero de la derecha es igual que el numero de la izquierda , el resultado ser谩 0
  • Si el numero de la izquierda es menor que el numero de la derecha, el resultado ser谩 1

Fusi贸n de Null, ??

$edad_pepito = 23;

echo $edad_juanito ?? edad_pepito; 
// Si la edad de Juanito no esta definida, usa la edad de pepito

echo "\n";

En Ruby al operador espacial se le conoce como Operador de comparaci贸n combinado (o al menos yo le conozco as铆) y funciona exactamente igual.
Por cierto, inici茅 mi aprendizaje de programaci贸n con Ruby y actualmente pienso que es muy cierta la frase de: 鈥淪i dominas un Lenguaje de programaci贸n, se te har谩 m谩s f谩cil aprender otro鈥, este curso se me ha hecho m谩s entendible y amigable, claro, aparte que @RetaxMaster es muy agradable para explicar.
Mi recomendaci贸n: Procuren aprender muy bien un lenguaje y luego se mudan a aprender otros que le interesen, les ser谩 mucho m谩s f谩cil 馃槈

Operadores relacionales

Son usados en PHP para la comparaci贸n entre valores

Operador Descripci贸n
== Igual a
=== Id茅ntico a
!= Diferente de
<> Diferente de
!== No id茅ntico a
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
<=> Nave espacial
?? Fusi贸n de null
// devuelve 'true' si $a es igual a $b despu茅s de la manipulaci贸n de tipos.
$a == $b
// devuelve 'true' si $a es igual a $b, y son del mismo tipo.
$a === $b  
// devuelve 'true' si $a no es igual a $b despu茅s de la manipulaci贸n de tipos.
$a != $b  
// devuelve 'true' si $a no es igual a $b despu茅s de la manipulaci贸n de tipos.
$a <> $b  
// devuelve 'true' si $a no es igual a $b, o si no son del mismo tipo.
$a !== $b  
// devuelve 'true' si $a es estrictamente menor que $b.
$a < $b
// devuelve 'true' si $a es estrictamente mayor que $b.
$a > $b
// devuelve 'true' si $a es menor o igual que $b.
$a <= $b
// devuelve 'true' $a es mayor o igual que $b.
$a >= $b
// Un integer menor que, igual a, o mayor que cero cuando $a es respectivamente menor que, igual a, o mayor que $b.
$a <=> $b
// El primer operando de izquierda a derecha que exista y no sea null. null si no hay valores definidos y no son null.
$a ?? $b ?? $c

No sabia de la existencia del operador nave espacial, muchas gracias Carlos!

Jam谩s en mi vida hab铆a escuchado del operador de la nave espacial. 馃槃

Incre铆ble las curiosidades que encuentras en la documentaci贸n.

Se supone que soy un 鈥渆xperto en PHP鈥 pero no me hab铆a puesto a detallar el funcionamiento de los nuevos operadores de PHP.

Es lindo, porque siempre se aprende algo nuevo.

Gracias, profe Carlos.

Ame est谩 clase xD.... no conoc铆a esos dos 煤ltimos operadores y cuando explicaste de que se trataba mi mente hizo boom... me hubiese evitado mucho esfuerzo de haberlo sabido antes, este curso a pesar de ser b谩sico tiene demasiado que aportar (鈼嶁⑨礂鈥⑩棈)鉂

Operador Nave Espacial

Podemos tomar como referencia una recta numerica con 0 como el origen central de negativos y positivos Si (a y b son iguales)鈫 Equivale a un valor neutro en caso 0

Si (a es menor que b) 鈫 Pasa a la izquierda de lo negativos osea -1

Si (b que ocupa la segunda posicion es mayor que a) 鈫 Pasa a ala derecha de los positivos en este caso 1

Referencia de la Documentacion Oficial
https://www.php.net/manual/es/migration70.new-features.php

El operador nave espacial

El operador nave espacial se emplea para comparar dos expresiones. Devuelve -1, 0 o 1 cuando $a es respectivamente menor, igual, o mayor que $b.

<?php
// N煤meros enteros
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// N煤meros decimales
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
 
// Cadenas de caracteres
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

Por primera vez en todos los a帽os que tengo en Platzi me he quedado enganchada con un curso. No quiero decir que los otros cursos no sean excelentes pero este profesor es lo mejor de lo mejor. Se entiende todo a la perfecci贸n.

Excelente que se haya incluido y explicado las comparaciones de tipos y el operador nave espacial. Con la explicaci贸n tan buena que da el instructor no quedan nada de dudas.
NO se si lo vayan a mencionar posteriormente, pero es bueno tambi茅n mostrar el operador ternario, el cual considero extremadamente 煤til y muy buen sustituto del if en algunos casos espec铆ficos

La fusi贸n de null ??, podemos compararla con el operador ternario:
($a > $b)? 鈥楽i es mayor鈥 : 鈥楴o es mayor鈥;

<?php

// Si el numero de la izquierda es mayor que el numero de la derecha, el resutado sera 1
// Si los dos numeros son iguales te dara un 0
// Si es numero de la izquierda es menor que el numero de la deracha, elresultado sera -1

echo 2 <=> 1;
echo "\n";

echo 4 <=> 1;
echo "\n";

echo 2 <=> 100;
echo "\n";


// Si la edad de juanito no esta definida, dame la de pepito
$Edad_de_pepito = 23;
echo $Edad_de_juanito ?? $Edad_de_pepito;
```js Mayor que echo "> Mayor que \n"; var_dump( $a > $b ); var_dump( $c > $b ); var_dump( $d > $b ); echo "\n\n"; // >= Mayor o igual que echo ">= Mayor o igual que \n"; var_dump( $a >= $b ); var_dump( $c >= $b ); var_dump( $d >= $b ); echo "\n\n"; // <= Menor o igual que echo "<= Menor o igual que \n"; var_dump( $a <= $b ); var_dump( $c <= $b ); var_dump( $d <= $b ); echo "\n\n"; // <=> Nave espacial echo "<=> Nave espacial \n"; echo 2 <=> 1, "\n"; // 1 echo 1 <=> 1, "\n"; // 0 echo -50 <=> 1, "\n"; // -1 echo "\n\n"; // ?? Fusi贸n de null, define cual es la primer variable $edad_de_pepito = 23; echo "?? Fusi贸n de null \n"; echo $edad_de_juanito ?? $edad_de_pepito ?? $edad_de_jaimito; echo "\n"; ```\ Mayor queecho "> Mayor que \n";var\_dump( $a > $b );var\_dump( $c > $b );var\_dump( $d > $b );echo "\n\n"; // >= Mayor o igual queecho ">= Mayor o igual que \n";var\_dump( $a >= $b );var\_dump( $c >= $b );var\_dump( $d >= $b );echo "\n\n"; // <= Menor o igual queecho "<= Menor o igual que \n";var\_dump( $a <= $b );var\_dump( $c <= $b );var\_dump( $d <= $b );echo "\n\n"; // <=> Nave espacialecho "<=> Nave espacial \n";echo 2 <=> 1, "\n"; // 1echo 1 <=> 1, "\n"; // 0echo -50 <=> 1, "\n"; // -1echo "\n\n"; // ?? Fusi贸n de null, define cual es la primer variable$edad\_de\_pepito = 23;echo "?? Fusi贸n de null \n"; 聽echo $edad\_de\_juanito ?? $edad\_de\_pepito ?? $edad\_de\_jaimito; echo "\n";

Excelente clase profe, no conoc铆a esos dos 煤ltimos operadores (鈼忊欌棥鈥欌棌)

```txt mayor que var_dump($a > $c); var_dump($c > $a); // > mayor igual que var_dump($a >= $c); var_dump($c >= $a); // <=> operador de nave espacial /*echo 2 <=> 1 . "\n" ; // 1 echo -50 <=> 1 . "\n" ; // -1 echo 1 <=> 1 . "\n" ; // 0 */ // ?? fusion de null nos dice la primera variable definida $edad_camilo = 23; echo $edad_paola ?? $edad_camilo; ?> ```\ mayor 聽que var\_dump($a > $c); var\_dump($c > $a); // > mayor igual que var\_dump($a >= $c); var\_dump($c >= $a); // <=> operador de nave espacial /\*echo 2 <=> 1 . "\n" ; // 1echo -50 <=> 1 . "\n" ; // -1echo 1 <=> 1 . "\n" ; // 0\*/ // ?? fusion de null nos dice la primera variable definida $edad\_camilo = 23; echo $edad\_paola ?? $edad\_camilo; ?>
el operador de fusi贸n null "??", toma dos operadores, el primero es la expresi贸n que se eval煤a, y el segundo es el valor de respaldo que se utiliza si la expresi贸n es nula. La expresi贸n se eval煤a de izquierda a derecha y si la expresi贸n no es nula, se devuelve. Si la expresi贸n es nula, se devuelve el valor de respaldo. Especialmente 煤til si trabajas con variables que pueden ser nulas y quieres proporcionar un valor predeterminado en lugar de tener que escribir una expresi贸n condicional if/else por ejemplo: ```js $valor = $variable ?? "valor de respaldo"; ```
El operador de "nave espacial" (`<=>`) en PHP tambi茅n se conoce como el operador de "comparaci贸n de tres v铆as" o "comparaci贸n de nave espacial". Este operador se utiliza para comparar dos expresiones. Devuelve 0 si ambas expresiones son iguales, 1 si el lado izquierdo es mayor y -1 si el lado derecho es mayor. Este tipo de operador tambi茅n se encuentra en otros lenguajes de programaci贸n. Por ejemplo: * **Perl:** En Perl, el operador `<=>` se usa para comparaciones num茅ricas y devuelve -1, 0 o 1 seg煤n si el operando de la izquierda es menor, igual o mayor que el operando de la derecha, respectivamente. * **Ruby:** En Ruby, el operador `<=>` se llama "Spaceship operator" y funciona de manera similar a PHP y Perl, devolviendo -1, 0 o 1 seg煤n la relaci贸n entre los operandos. * **Swift:** En Swift, el operador `<=>` se llama "Spaceship operator" y se utiliza de manera similar para comparaciones. Devuelve un valor de tipo `ComparisonResult` que indica la relaci贸n entre los valores comparados. * **Perl 6:** En Perl 6, este operador se llama "comparador de tres v铆as" y tiene una funcionalidad similar a otros lenguajes. Estos son solo algunos ejemplos, pero el concepto de un operador de comparaci贸n de tres v铆as similar al operador de "nave espacial" en PHP se encuentra en varios otros lenguajes de programaci贸n. Sin embargo, es importante tener en cuenta que su nombre y sintaxis pueden variar de un lenguaje a otro.

Operador @nave_espacial en PHP

echo 2 <=> 1; //  1 si el num_izquierda > num_derecha
echo PHP_EOL;
echo 2 <=> 3; // -1 si el num_izquierda < num_derecha
echo PHP_EOL;
echo 2 <=> 2; //  0 si el num_izquierda == num_derecha
echo PHP_EOL;

Operador fusi贸n de NULL

$default_age = 18;
echo $age_user ?? $default_age; // 18
echo PHP_EOL;

Operadores relacionales en PHP

Operador Descripci贸n Ejemplo
== Igual a $x == $y
=== Id茅ntico a (mismo valor y tipo) $x === $y
!= o <> No igual a $x != $y or $x <> $y
!== No id茅ntico a (diferente valor o tipo) $x !== $y
< Menor que $x < $y
> Mayor que $x > $y
<= Menor o igual que $x <= $y
>= Mayor o igual que $x >= $y

Igual a:

$x = 5;
$y = "5";

if ($x == $y) {
    echo "x es igual a y";
} else {
    echo "x no es igual a y";
}

Resultado:

x es igual a y

Id茅ntico a:

$x = 5;
$y = "5";

if ($x === $y) {
    echo "x es id茅ntico a y";
} else {
    echo "x no es id茅ntico a y";
}

Resultado:

x no es id茅ntico a y

No igual a:

$x = 5;
$y = 10;

if ($x != $y) {
    echo "x no es igual a y";
} else {
    echo "x es igual a y";
}

Resultado:

x no es igual a y

No id茅ntico a:

$x = 5;
$y = "5";

if ($x !== $y) {
    echo "x no es id茅ntico a y";
} else {
    echo "x es id茅ntico a y";
}

Resultado:

x no es id茅ntico a y

Menor que:

$x = 5;
$y = 10;

if ($x < $y) {
    echo "x es menor que y";
} else {
    echo "x no es menor que y";
}

Resultado:

x es menor que y

Mayor que:

$x = 5;
$y = 10;

if ($x > $y) {
    echo "x es mayor que y";
} else {
    echo "x no es mayor que y";
}

Resultado:

x no es mayor que y

Menor o igual que:

$x = 5;
$y = 5;

if ($x <= $y) {
    echo "x es menor o igual que y";
} else {
    echo "x es mayor que y";
}

Resultado:

x es menor o igual que y

Mayor o igual que:

$x = 5;
$y = 10;

if ($x >= $y) {
    echo "x es mayor o igual que y";
} else {
    echo "x es menor que y";
}

Resultado:

x es menor que y

Enjoy it 馃榾

Excelente el operador Fusi贸n de null, no sab铆a que exist铆a, al igual que Nave espacial.

Aqui les dejo mi c贸digo de la clase:

<?php

$a = 5;
$b = "5";
$c = 9;

// == (Igual)
echo "***** == / Igual *****";
echo "\n";
var_dump( $a == $b );
echo "\n";

// === (Identico o Estrictamente Igual)
echo "***** === / Estrictamente Igual o Identico *****";
echo "\n";
var_dump( $a === $b) ;
echo "\n";

// != (Diferente)
echo "***** != / Diferente *****";
echo "\n";
var_dump( $a != $b) ;
echo "\n";

// !== (Estrictmente Diferente)
echo "***** !== / Estrictamente Diferente *****";
echo "\n";
var_dump( $a !== $b) ;
echo "\n";

// < (Menor que)
echo "***** < / Menor que *****";
echo "\n";
var_dump( $a < $c) ;
echo "\n";

// > (Mayor que)
echo "***** > / Mayor que *****";
echo "\n";
var_dump( $a > $c) ;
echo "\n";

// < (Menor o igual que)
echo "***** <= / Menor o igual que *****";
echo "\n";
var_dump( $a <= $c) ;
echo "\n";

// > (Mayor o igual que)
echo "***** >= / Mayor o igual que *****";
echo "\n";
var_dump( $a >= $c);
echo "\n";

// <=> (Operador de nave espacial)
/* Si el numero de la izquierda es mayor el numero de la derecha, el resultado ser谩 1
Si el numero de la derecha es igual que el numero de la izquierda , el resultado ser谩 0
Si el numero de la izquierda es menor que el numero de la derecha, el resultado ser谩 -1 */
echo "***** <=> / Operador de nave espacial *****";
echo "\n";
var_dump( 2 <=> 1);
echo "\n";
var_dump( 2 <=> 2);
echo "\n";
var_dump( 1 <=> 2);
echo "\n";

// ?? (Fusion de NULL)
/* . La primera variable que S脥 est茅 definida y no sea null,
de izquierda a derecha,
es la que ser谩 utilizada.  */
echo "***** ?? / Fusion de NULL *****";
echo "\n";
$edad_de_pepito = 23;

echo $edad_de_juanito ?? $edad_de_pepito;

echo "\n";

que les parece 馃榿

Todo mundo ganando puntos con el 鈥済racias鈥 jejejej

Pinche operador de nave espacial.
Tantos If en tu nombre jajaja xD

Operaciones relaciones a recordar: // Nave espacial <=> Si el numero a comparar a la izquierda es mayor , retorna un 1; Si el numero a comparar a la derecha es mayor , retorna un -1; Si ambos numeros son iguales, retorna un 0; NOTA: Los numeros a comparar pueden ser definidos como Strings y votara el mismo resultado; //Fusion de NULL ?? Si el valor a comparar entre este operador no esta declarado, se puede poner un valor por defecto; Ejemplo: $valor_por_defecto= 14; $numero_no_definido ?? $valor_por_defecto ?? $otro_numero_sin_definir // return 14;

Nave espacial

$x <=> $y

Si $x < $y nave espacial devuelve -1
Si $x = $y nave espacial devuelve 0
Si $x > $y nave espacial devuelve 1

Dale like si tambi茅n te equivocas en el tipeo cuando estudias. ; - ).

Este ejemplo me ayudo a comprender la Nave espacial
****

Para que veas tus variables en consola y compares las condiciones de inmediato

crea esta variable e imprime arriba de tus var_dump

$valores = '$a = '. $a. ' $b = '. $b. ' $b2 = '. $b2. ' $c = '. $c. ' $d = '. $d. "\n"; 
echo $valores;

esta bueno para un:

if($edad_juanito ?? $edad_pepito){ 

}

senti un dejavu al ver esta clase鈥
precisamente al momento de ver el operador <=>
me parecio haberlo visto anteriormente en otro lenguaje de programacion xD

El operador de nave espacial promete muchas funciones pr谩cticas. 驴Cu谩l se les ocurre?

Pero que profesor mas genial para aprender, sin tantas cosas he aprendido de una manera m谩s pr谩ctica los operadores relacionales, de hecho los 煤ltimos dos operadores relacionales no los conoc铆a, saludos!

la Fusion de null lo que en JS se conoce como un operador ternario , cierto?

El 煤nico confuso fue el operador null

No hab铆a escuchado hablar sobre el operador de nave espacial y tampoco Fusi贸n de null.
Exelente clases !!!

Operador Nave espacial
Lo entend铆 as铆:
-1 0 1

<?php

echo "-10 <=> 5 Resultado " . (-10 <=> 5); // -1
echo "\n";
echo "2 <=> 2 Resultado " . (2 <=> 2); // 0
echo "\n";
echo "4 <=> 2 Resultado " . (4 <=> 2);   // 1
echo "\n";

Se lee de acuerdo a que la relaci贸n de los dos n煤meros sea verdadera.
(-1 0 1)
(-10 <=> 5) lo leo (-10 < 5) da como resultado -1
(2 <=> 2) lo leo (2 = 2) da como resultado 0
(4 <=> 2) lo leo (4 > 2) da como resultado 1

Me adentre a aprender PHP por que que he estado trabajando con ProcessMaker cuyo backend esta hecho en php, por el momento muy bien el curso.

Comparto mi apunte que he realizado de esta clase.
Adicionalmente encontr茅 en la documentaci贸n que para el caso de Diferente podemos usar tambi茅n el operador

<>

.

<?php
// Operadores relacionales en PHP
/*
  Al igual que en otros lenguajes, en PHP tenemos varios operadores relacionales
  los cuales comparan 2 o mas operandos y nos retornaran un valor 'true' o 'false' 
  y en ciertos casos alg煤n otro valor.
*/

// Declaraci贸n de variables
$n1 = 7;
$n2 = 4;
$n2String = "4";
$n3 = 7;
$soyNull = null;

// Operador de Igualdad: == (Compara si son iguales ambos operandos)
echo("Operador de Igualdad\n");
var_dump( $n1 == $n2 ); // false
var_dump( $n2 == $n2String ); // true
var_dump( $n1 === $n3 ); // true

// Operador de Id茅ntico: === (Compara si son iguales ambos operandos junto a su tipo de dato)
echo("Operador de Id茅ntico\n");
var_dump( $n1 === $n2 ); // false
var_dump( $n2 === $n2String ); // false
var_dump( $n1 === $n3 ); // true

// Operador de Diferente: != || <> (Compara que los operandos sean diferentes)
echo("Operador de Diferente\n");
var_dump( $n1 != $n2 ); // true
var_dump( $n1 <> $n2 ); // true
var_dump( $n2 != $n2String ); // false
var_dump( $n1 != $n3 ); // false
var_dump( $n1 <> $n3 ); // false

// Operador de Diferente: !== (Compara que los valores sean diferentes junto a su tipo de dato)
echo("Operador de Diferente\n");
var_dump( $n1 !== $n2 ); // true
var_dump( $n2 !== $n2String ); // true
var_dump( $n1 !== $n3 ); // false

// Operador de menor que: < (Compara que el primer operando sea menor al segundo operando)
echo("Operador de menor que\n");
var_dump( $n1 < $n2 ); // false
var_dump( $n2 < $n1 ); // true
var_dump( $n2 < $n2String ); // false

// Operador de menor o igual que: <= (Compara que el primer operando sea menor o igual al segundo operando)
echo("Operador de menor o igual que\n");
var_dump( $n1 <= $n2 ); // false
var_dump( $n2 <= $n1 ); // true
var_dump( $n2 <= $n2String ); // true

// Operador de mayor que: > (Compara que el primer operando sea mayor al segundo operando)
echo("Operador de mayor que\n");
var_dump( $n1 > $n2 ); // true
var_dump( $n2 > $n1 ); // false
var_dump( $n2 > $n2String ); // false

// Operador de mayor o igual que: >= (Compara que el primer operando sea mayor o igual al segundo operando)
echo("Operador de mayor o igual que\n");
var_dump( $n1 >= $n2 ); // true
var_dump( $n2 >= $n1 ); // false
var_dump( $n2 >= $n2String ); // true

// Operador de nave espacial: <=> (Compara los 2 operandos y retorna -1 si el primer operando (izquierda) es menor al segundo operando (derecha), retorna 0 si ambos operandos son iguales y retorna 1 si el primer operando (izquierda) es mayor al segundo operando (derecha))
echo("Operador de nave espacial\n");
var_dump( $n2 <=> $n1 ); // -1
var_dump( $n1 <=> $n2 ); // 1
var_dump( $n2 <=> $n2String ); // 0

// Operador de fusi贸n de null: ?? (Devuelve el primer operando (valor) si existe y no es null, de lo contrario devuelve el segundo operando)
echo("Operador de fusi贸n de null\n");
var_dump( $soyNull); // null
var_dump( $soyNull ?? 2); // 2
var_dump( $soyNull ?? $n1 ); // 7
var_dump( $variableNoExistente ?? $otraVariableNoExistente ?? $n2 ?? $n1 ); // 4

echo(PHP_EOL);

Saludos
Nave espacial?
Fusion de null?
Genial, son nuevos para mi, que maravilloso es PHP
Gracias.

Este seria mi ejemplo de estos operadores mas los conoszco como operadores de comparacion.

<?php
$price = 200;

echo "price = $price \n";
echo "\n";

// Equal to
$value = $price == $price;
echo "price == price = $value \n";
var_dump($value);

// Equal to
$value = $price == "200";
echo "price(number) == '200'(string) = $value \n";
var_dump($value);

// Equal to/Equal type
$value = $price === 200;
echo "price(number) === 200(number) = $value \n";
var_dump($value);

// Equal to/Equal type
$value = $price === "200";
echo "price(number) === '200'(string) = $value \n";
var_dump($value);
echo "\n";

// Not Equal to
$value = $price != 100;
echo "price(number) != 100 = $value \n";
var_dump($value);

// Not Equal to/Not equal type
$value = $price !== "200";
echo "price(number) !== '200' = $value \n";
var_dump($value);
echo "\n";

// Greater than
$value = $price > 10;
echo "price > 10 = $value \n";
var_dump($value);

// Greater than or equal to
$value = $price >= $price;
echo "price >= price = $value \n";
var_dump($value);

// Less than
$value = $price < 1500;
echo "price < 1500 = $value \n";
var_dump($value);

// Less than or equal to
$value = $price <= $price;
echo "price <= price = $value \n";
var_dump($value);

// Operador nave espacial
echo "Si el numero que esta a la izquiera es mayor al numero que esta a la derecha es 1 \n";
echo "price <=> 100 = " . ($price <=> 100) . "\n";

echo "Si el numero que esta a la izquiera es igual al numero que esta a la derecha es 0 \n";
echo "price <=> price = " . ($price <=> $price) . "\n";

echo "Si el numero que esta a la izquiera es menor al numero que esta a la derecha es -1 \n";
echo "100 <=> price = " . (100 <=> $price) . "\n";
el de nave espacial combina bien con el select case, yo lo ocupe para comparar el tama帽o de los arreglos 馃榿

el operador de fusi贸n no solo valida que la variable no est茅 definida, si no que si la variable no tiene un valor asignado (por ejemplo null) tampoco la toma en cuenta.

$edad_de_pepito = 23;
$edad_de_juanito = null;

echo $edad_de_juanito ?? $edad_de_pepito ?? edad_de_jaimito; // resultado 23

Es similar a lo que se usa en Javascript con el operador (?) para validar el contenido de una variable.

Operadores relacionales

No conoc铆a el operador nave espacial. Muy bien explicado todo

Operador Nave Espacial

Podemos tomar como referencia una recta numerica con 0 como el origen central de negativos y positivos Si (a y b son iguales)鈫 Equivale a un valor neutro en caso 0

Si (a es menor que b) 鈫 Pasa a la izquierda de lo negativos osea -1

Si (b que ocupa la segunda posicion es mayor que a) 鈫 Pasa a ala derecha de los positivos en este caso 1

Operador de nave espacial: