PHP 速记概述

2022-08-30 13:13:22

我已经用PHP编程多年了,但我从未学会如何使用任何速记。我不时在代码中遇到它,并且很难阅读它,所以我想学习该语言存在的不同速记,以便我可以阅读它并开始使用它来节省时间/行,但我似乎找不到所有速记的全面概述。

谷歌搜索几乎只显示if/else语句的简写,但我知道一定不止于此。

通过速记,我说的是这样的事情:

($var) ? true : false;

答案 1

以下是 PHP 中使用的一些速记运算符。

//If $y > 10, $x will say 'foo', else it'll say 'bar'
$x = ($y > 10) ? 'foo' : 'bar';

//Short way of saying <? print $foo;?>, useful in HTML templates
<?=$foo?>

//Shorthand way of doing the for loop, useful in html templates
for ($x=1; $x < 100; $x++):
   //Do something
end for;

//Shorthand way of the foreach loop
foreach ($array as $key=>$value):
   //Do something;
endforeach;

//Another way of If/else:
if ($x > 10):
    doX();
    doY();
    doZ();
else:
    doA();
    doB();
endif;

//You can also do an if statement without any brackets or colons if you only need to
//execute one statement after your if:

if ($x = 100)
   doX();
$x = 1000;

// PHP 5.4 introduced an array shorthand

$a = [1, 2, 3, 4];
$b = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4];

答案 2

PHP 5.3 引入了:

$foo = $bar ?: $baz;

它将 的值赋值为 if 计算结果为 (else )。$bar$foo$bartrue$baz

您还可以嵌套三元运算符(正确使用括号)。

除此之外,没有太多关于它的东西。您可能需要阅读文档


推荐