if

(PHP 4, PHP 5, PHP 7, PHP 8)

if 结构是许多语言(包括 PHP)最重要的功能之一。它允许对代码片段进行条件执行。PHP 的 if 结构类似于 C 语言中的结构。

if (expr)
  statement

表达式部分 所述,表达式 被评估为其布尔值。如果 表达式 评估为 true,PHP 将执行 语句,如果它评估为 false,则会忽略它。有关哪些值评估为 false 的更多信息,请参阅 '转换为布尔值' 部分。

以下示例将显示 a 大于 b,如果 $a 大于 $b

<?php
if ($a > $b)
echo
"a is bigger than b";
?>

通常您希望有多个语句被有条件地执行。当然,没有必要用 if 子句包装每个语句。相反,您可以将多个语句分组到语句组中。例如,此代码将显示 a 大于 b,如果 $a 大于 $b,然后将 $a 的值分配给 $b

<?php
if ($a > $b) {
echo
"a is bigger than b";
$b = $a;
}
?>

If 语句可以在其他 if 语句中无限嵌套,这为您提供了对程序各个部分进行条件执行的完全灵活性。

添加说明

用户贡献说明 5 个说明

robk
11 年前
使用 PHP if else 执行条件 html / javascript / css / 其他语言代码的简单方法

<?php if (condition): ?>

如果条件为真,则运行的 html 代码

<?php else: ?>

如果条件为假,则运行的 html 代码

<?php endif ?>
techguy14 at gmail dot com
13 年前
您可以在单个 if 语句中使用额外的括号来嵌套 if 语句。
例如,而不是

<?php
if( $a == 1 || $a == 2 ) {
if(
$b == 3 || $b == 4 ) {
if(
$c == 5 || $ d == 6 ) {
// 在这里做一些事情。
}
}
}
?>

您只需简单地执行以下操作

<?php
if( ($a==1 || $a==2) && ($b==3 || $b==4) && ($c==5 || $c==6) ) {
// 在这里做那件事。
}
?>

希望这有帮助!
grawity at gmail dot com
16 年前
关于:#80305

对新手来说再次有用

如果您需要将变量与值进行比较,而不是执行以下操作

<?php
if ($foo == 3) bar();
?>

执行以下操作

<?php
if (3 == $foo) bar();
?>

通过这种方式,如果您忘记了 =,它将变为

<?php
if (3 = $foo) bar();
?>

PHP 将报告错误。
Christian L.
13 年前
另一种控制方式是三元运算符(参见比较运算符),使用方法如下

<?php
$v
= 1;

$r = (1 == $v) ? 'Yes' : 'No'; // $r 设置为 'Yes'
$r = (3 == $v) ? 'Yes' : 'No'; // $r 设置为 'No'

echo (1 == $v) ? 'Yes' : 'No'; // 将打印 'Yes'

// 从 PHP 5.3 开始
$v = 'My Value';
$r = ($v) ?: 'No Value'; // $r 设置为 'My Value' 因为 $v 评估为 TRUE

$v = '';
echo (
$v) ?: 'No Value'; // 将打印 'No Value' 因为 $v 评估为 FALSE
?>

在上述所有示例中,可以省略括号。
georgy dot moshkin at techsponsor dot io
14 天前
&& 运算符的从左到右评估有一个有用的特性:评估在遇到第一个“false”操作数后停止。

此特性可用于创建以下结构

$someVar==123 未评估,因此不会出现诸如“未定义变量 $someVar”之类的警告
<?php
// $someVar=123; - 注释行
if ((!empty($someVar))&&($someVar==123))
{
echo
$someVar;
}
?>

函数 someFunc($someVar) 不会被调用
<?php
// $someVar=123; - 注释行
if ((!empty($someVar))&&(someFunc($someVar)))
{
echo
$someVar;
}
?>

这将给出“警告:未定义变量 $someVar”错误。顺序很重要
<?php
// $someVar=123;
if ((someFunc($someVar))&&(!empty($someVar)))
{
echo
$someVar;
}
?>
To Top