Extrañas declaraciones de php


Si lee la documentación de PHP, aprenderá sobre una tonelada de operadores . Si aún no conoce las declaraciones PHP, primero estudíelos y luego vuelva a leer este artículo.


A juzgar por los primeros comentarios, quiero disculparme por la mala traducción, tengo poca experiencia en esto, pero quería traducir el artículo. Agradeceré cualquier crítica con respecto a la calidad de la traducción, especialmente por cualquier mejora. Gracias por su atencion!

Los operadores generalmente consisten en caracteres extraños, como! -, =>, <=>, ^ o ~. De hecho, algunos de ellos son simplemente legibles, como AND , mientras que otros son un intento perdido de hacerlos legibles y ocultar su doble personalidad, por ejemplo, xor .


Probablemente piense que conoce la documentación de PHP a lo largo y ancho, pero siempre hay algo que aprender. Así que me sumergí profundamente en el código central de PHP y miré algunos de los operadores PHP especiales, menos conocidos pero muy útiles en el trabajo diario.


¡Entonces, aquí hay 10 declaraciones PHP que debes saber en 2018!


Operador b '


Simplemente agregue b antes de cualquier línea y no pasará nada. Este ingenioso truco solo funciona con b B Aquí debemos recordar el destino de PHP 6, ya que b es similar a 6 .


 $string = b'content'; 

Operador [] =


Un operador corto para agregar un nuevo elemento a una matriz. Funciona como espera: agrega el elemento de la derecha a la matriz de la izquierda.


 $array []= 'element'; 

De hecho, es mucho más elegante que $array[] = 'element'; . Algunas pruebas muestran que es mucho más rápido, mientras que otras, por el contrario, es mucho más lento. Como de costumbre, compruebe usted mismo si este operador es adecuado para usted antes de apostar por el rendimiento con tal truco.


Desafortunadamente, en la guía oficial no hay una palabra sobre esta maravillosa oportunidad.


El operador <-


El operador de "objeto izquierdo" se introdujo en PHP para mejorar la capacidad de escribir código para que los desarrolladores puedan escribir código PHP de derecha a izquierda. Aunque el proyecto se suspendió más tarde por razones desconocidas, este primer operador que recibió soporte se conservó en PHP.


 $c = $a<-B; 

Por compatibilidad con versiones anteriores, el código anterior no obtiene el valor de la propiedad B en el objeto $a , sino que simplemente compara $a con el opuesto de B


Operador ––>


--> también conocido como el "operador de super-objeto", creado sobre la base de su primo lejano, -> .


 $object-->property 

--> funciona como -> , excepto que no lo es. El truco principal: usar no un objeto como la variable $object , sino un número entero (en este caso funcionará como una comparación > - aprox. Por.)


Operador de flecha izquierda para matrices [$ a <= $ b]


Todos conocemos el operador => para matrices, pero también admiten una versión espejo de este operador de la siguiente manera:


 $array = [ 'a' => 'b', 'c' <= 'd', ]; var_dump($array); /* array(2) { ["a"]=> string(1) "b" [0]=> bool(true) */ 

Esto es muy conveniente para programadores muy jóvenes, así como para aquellos mayores que todavía usan la escritura espejo. Este operador también tiene la capacidad de convertir ambos operandos en un valor lógico, para un almacenamiento más compacto.


Nombres de constantes con *,%


Las constantes son buenas y efectivas hasta que desee más libertad en su sintaxis. Aunque el manual establece que el nombre de la constante debe contener solo letras, guiones bajos y números, también se permite usar caracteres especiales como * o% en el nombre. Por ejemplo, como sigue:


 //        ,       — . . define('A', 2); define('B', 1); define('A*B', 2); $x = foo( A*B ); 

Lo único que necesita para asegurarse de que existan las constantes A y B, y como resultado de su multiplicación, se obtiene el valor de la constante propuesta. Esta es otra buena razón para evitar usar primos como valores en constantes.


Operadores de barcos


Por lo tanto, todos conocen el operador de la "nave espacial" desde el lanzamiento de PHP 7. Pero se sabe menos que al mismo tiempo se introdujo una flota completa de naves espaciales para llevar a cabo operaciones a gran escala.


Pequeña nave espacial


Puede proporcionar una escolta al operador de la nave espacial utilizando el pequeño operador de la nave espacial. Este operador no hace una comparación: simplemente agrega $b a $a en un estilo tan refinado.


 $a -=- $b; 

Luchadores X


Si desea agregar potencia de fuego a la flota anterior, puede llamar a los combatientes tipo X a la fuente PHP: +-0-+ . El siguiente código resta 3 de $a (el artículo original dice que el operador adds 3 to $a 3 ( adds 3 to $a ), pero esto no es así, vea el resultado del siguiente ejemplo: aprox.


 $a = 8; $a = $a +-0-+ 3; // 5 

Acorazado


El operador del acorazado brinda apoyo a los operadores anteriores. Este es uno de los operadores que funciona solo con matrices, al igual que => . Debe ser utilizado solo por los gurús de PHP más avanzados en este lado de la galaxia. No subestimes su poder.


 $x = [ 2 <=['-']=> $b]; 

¿No es esa la mejor manera de escribir así?


 $x = [ 1 => $b]; 

Estrella de la muerte


Muchos de ustedes preguntarían si el operador de la estrella de la muerte estaba integrado en PHP, y la respuesta es: actualmente se desconoce. Hay planes para esto, pero nadie ha visto una copia real. Realmente me gustaría ver al operador en tres líneas, ya que PHP será el primero en tener esto (y cuando esto suceda, espero que el costo de este operador no se cancele de mi cuenta).


  $x = $y ~~ ( °) ~~ true; 

Operador PHP locura


Las declaraciones PHP son ordenadas y eficientes. Esperamos que estos operadores menos conocidos le hayan enseñado algo en PHP.


Consulte los siguientes ejemplos de código: todos funcionan en PHP 7.2.5, excepto la "estrella de la muerte". Es posible que tengan algunos requisitos previos, así que asegúrese de leer la documentación antes de usarlos.

Source: https://habr.com/ru/post/es412603/


All Articles