首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP语法糖与Perl

PHP语法糖与Perl
EN

Stack Overflow用户
提问于 2015-10-26 15:51:00
回答 1查看 405关注 0票数 3

我试图用PHP来定位自己,它来自Perl、R、C和其他几种语言。

问题:

  1. 有PHP语言来代替下面的Perl语法吗? $y= $x _在PHP中 当然,我可以编写更长的函数/构造,这些函数/构造具有相同的功能,但也许有一些标准的PHP短方法来替换这些相当常见的有用结构。
  2. PHP有哪些语法糖是我的其他语言经验所没有的?
EN

回答 1

Stack Overflow用户

发布于 2015-10-26 17:25:10

1.

在perl中,您可以将?:看作是||,但它实际上是三元/(三叉的?)运算符,其中省略了第二个参数,并包含第一个参数($x)。

代码语言:javascript
复制
$y= $x ?: "I am undefined"; # not before v5.3.x

您不能使用($x==1) or return|break|continue;,所以您必须使用常规的if条件(对于单个语句可以省略大括号)

代码语言:javascript
复制
if (!($x==1)) break;

至于链式三元,如果你想让它像perl那样工作,恐怕事情并不像你想的那样简单。

代码语言:javascript
复制
$y = ($x1==1 ? 2 :
     ($x2==2 ? 3 :
     ($x3==3 ? 2 : 5
))); // close as many times as there is rows above

如果变量不插入双引号,则可以使用大括号,

代码语言:javascript
复制
print "Val: {$array[$x]}";

2.

至于你可以用的语法糖

代码语言:javascript
复制
$arg += array(
  "default" => 55,
);

就像你会

代码语言:javascript
复制
%arg = ("default" => 55, %arg);

在perl中,为了给出缺少散列键的默认值。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33350058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档