使用PHP编写"if"条件语句的不同方法有哪些?

Rol*_*and 2 php

如果条件语句使用PHP,有哪些不同的写法?

我知道以下的例子

if($test == 1){
}else{
}
Run Code Online (Sandbox Code Playgroud)

if($test == 1)
   echo 'asdsa';
else
   echo 'sdaaa';
Run Code Online (Sandbox Code Playgroud)

Gre*_*reg 12

另一种控制结构语法:

if ($text == 1):
    echo 'asdsa';
else:
   echo 'asdsa';
endif;
Run Code Online (Sandbox Code Playgroud)


Tho*_*ens 9

另一种方法是使用三元运算符.PHP文档中的示例是:

<?php
// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// The above is identical to this if/else statement
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}

?>
Run Code Online (Sandbox Code Playgroud)

其他控制结构也记录在PHP手册中.唯一的条件语句是三元条件算子,if(和else),和elseifelse if.但是,他们确实有另一种语法.


Mil*_*kov 7

echo ($test == 1) ? 'asdsa' : 'sdaaa';
Run Code Online (Sandbox Code Playgroud)

  • 我担心有人会忘记这个.这是我最喜欢的,因为我不允许在工作中使用它:D (2认同)

Tom*_*Tom 5

除了已经说过的,还有类似的东西

$sql_link = mysql_connect('localhost', 'root') or die('no mysql');
Run Code Online (Sandbox Code Playgroud)

或类似控制结构的替代语法

(赋值“ OR”的技巧实际上是一个技巧:)如果mysql_connect()并未真正变为true,PHP将尝试评估第二个表达式,因此这确实是一个hack:

if (mysql_connect('localhost', 'root')) {
    $sql_link = true;
}
else {
    die('no mysql');
}
Run Code Online (Sandbox Code Playgroud)