奇怪的php语句


如果您阅读PHP文档,将会学到很多操作符 。 如果您尚不了解PHP语句,请先研究它们,然后返回阅读本文。


从第一条评论来看,我想对翻译不佳表示歉意,对此我经验很少,但是我想翻译这篇文章。 我欢迎任何对翻译质量的批评,尤其是对任何改进的批评。 感谢您的关注!

运算符通常由奇怪的字符组成,例如!,-,=>,<=>,^或〜。 确实,其中一些是简单易读的,例如AND ,而其中一些却是企图使它们可读并隐藏其实际上双重身份的迷失尝试,例如xor


您可能认为您已经了解PHP文档,但是总有一些东西需要学习。 因此,我深入研究了PHP的核心代码,并研究了一些特殊的PHP运算符,这些运算符鲜为人知,但在日常工作中非常有用。


因此,这是2018年您应该知道的10条PHP语句!


运算符b'


只要在任何行之前添加b ,就不会发生任何事情。 此技巧仅适用于bB 这里我们必须回顾PHP 6的命运,因为b6相似。


 $string = b'content'; 

运算符[] =


用于将新元素添加到数组的简短运算符。 它可以按您期望的方式工作-将右侧的元素添加到左侧的数组中。


 $array []= 'element'; 

实际上,它比$array[] = 'element';更优雅$array[] = 'element'; 。 一些测试表明它要快得多,而相反,其他测试则要慢得多。 像往常一样,在用这种技巧押注性能之前,请亲自看一下该运算符是否适合您。


不幸的是,在官方指南中并没有提及这个难得的机会。


运算符<-


PHP中引入了“ left object”运算符,以增强编写代码的能力,以便开发人员可以从右至左编写PHP代码。 尽管后来由于未知原因中止了该项目,但该第一个获得支持的操作员保留在PHP中。


 $c = $a<-B; 

为了向后兼容,以上代码未获得对象$a中属性B的值,而只是将$aB的相反值进行比较B


操作员->


-->也称为“超对象运算符”,它是基于他的远房表亲->


 $object-->property 

-->->相似,但不是。 主要技巧:不使用对象作为变量$object ,而是使用整数(在这种情况下,它将用作比较> -大约Per​​。)。


数组[$ a <= $ b]的左箭头运算符


我们都知道数组的=>运算符,但它们也支持此运算符的镜像版本,如下所示:


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

对于非常年轻的程序员以及仍然使用镜像编写的较老的程序员,这非常方便。 该运算符还可以将两个操作数都转换为逻辑值,以实现更紧凑的存储。


带有*,%的常数的名称


常量是好的并且有效的,直到您希望它们的语法有更多的自由度为止。 尽管该手册指出该常数的名称只能包含字母,下划线和数字,但也可以在名称中使用特殊字符,例如*或%。 例如,如下:


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

您唯一需要确定的是常数A和B存在,并且由于它们相乘,因此获得了所建议常数的值。 这是避免将素数用作常量值的另一个很好的理由。


船舶经营者


因此,自PHP 7发行以来,每个人都知道“太空船”操作员。但是,鲜为人知的是,同时引入了整个太空船舰队来进行大规模操作。


小宇宙飞船


您可以使用微小的航天器操作员为航天器操作员提供护送。 该运算符没有进行比较:它只是以这种精致的样式将$b添加到$a中。


 $a -=- $b; 

X战机


如果您想为以前的舰队增加火力,可以在PHP源代码中调用X型战斗机: +-0-+ 。 下面的代码从$a减去3(原始文章说运算符加3( adds 3 to $a ),但事实并非如此,请参见下面示例的输出-大约。


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

战舰


战舰操作员为以前的操作员提供支持。 这是仅适用于数组的运算符之一,就像=> 。 仅应由银河一侧的最高级PHP专家使用。 不要小看它的力量。


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

这不是写这样的最好方法吗?


 $x = [ 1 => $b]; 

死亡之星


你们中的许多人会问死亡之星运算符是否内置在PHP中,答案是:它目前未知。 有此计划,但没有人看过真正的副本。 我真的很想在三行中看到该运算符,因为PHP将是第一个拥有此运算符的用户(并且在发生这种情况时,我希望不会从我的帐户中扣除该运算符的费用)。


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

PHP操作员精神错乱


PHP语句简洁高效。 我们希望这些鲜为人知的运算符已经教您一些PHP知识。


请查看以下代码示例:除“死亡之星”外,它们都在PHP 7.2.5中工作。 它们可能有一些先决条件,因此请务必在使用前阅读文档。

Source: https://habr.com/ru/post/zh-CN412603/


All Articles