English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 基础教程

PHP 高级教程

PHP & MySQL

PHP 参考手册

PHP if…else 语句

在本教程中,您将学习如何使用PHP中的if ... else ... elseif语句编写决策代码。

PHP条件语句

像大多数编程语言一样,PHP还允许您编写代码,这些代码在运行时根据逻辑或比较测试条件的结果执行不同的操作。 这意味着,您可以以表达式的形式创建测试条件,该表达式的计算结果为true或false,并根据这些结果可以执行某些操作。

PHP中有一些语句可用于制定决策:

  • if 语句

  • if ... else 语句

  • if...elseif..else 语句

  • switch...case 语句

我们将在接下来的部分中探讨每个语句。

if 语句

仅当指定条件的值为true时,if语句才用于执行代码块。这是最简单的PHP条件语句,可以这样写:

if(condition){ 
    //要执行的代码
}

下面的示例将输出“周末愉快!” 如果今天是星期五:

<?php
$d = date("D");
if($d == "Fri") {
    إchos "سعيد الأسبوع!";
}
؟>
اختبار ل‹/›

if...else 语句

您可以通过在if语句中添加else语句来提供代替选择,从而增强决策过程。 如果指定条件的条件为True,则if ... else语句使您可以执行一个代码块,如果条件为False,则可以执行另一块代码。 可以这样写:

if(condition){
    //条件为true时执行的代码
 } else {
    //条件为false时执行的代码
}

下面的示例将输出“周末愉快!” 如果当前日期是星期五,则将输出“祝您愉快!”

<?php
$d = date("D");
if($d == "Fri") {
    إchos "سعيد الأسبوع!";
} else {
    إchos "تحياتي!";
}
؟>
اختبار ل‹/›

if...elseif...else 语句

if ... elseif ... else特殊语句,用于组合多个if ... else语句。

if(condition1){
    //如果condition1为true时将执行的代码
} elseif(condition2){
    //如果condition1为false且condition2为true时将执行的代码
} else {
    //如果condition1和condition2都将执行的代码是错误的
}

النموذج التالي سيقوم بإخراج

<?php
$d = date("D");
if($d == "Fri") {
    إchos "سعيد الأسبوع!";
} elseif($d == "Sun") {
    إchos "تحياتي يوم الأحد!";
} else {
    إchos "تحياتي!";
}
؟>
اختبار ل‹/›

فيالفصل التاليفي هذا الفصل، ستعرف المزيد عن جملة switch-case في PHP.

عملاق الثلاثي

يقدم العملاق الثلاثي طريقة سهلة لكتابة جمل if... else. العملاق الثلاثي يتم تمثيله بفاصلة السؤال (؟) وهو له ثلاثة معادلات: الشرط الذي يتم فحصه، النتيجة إذا كان الشرط صحيحًا، والنتيجة إذا كان الشرط خطأ.

لتوضيح كيفية عمل هذا العملاق، انظر إلى المثال التالي:

<?php
$age = 15;
if($age < 18) {
    إchos 'طفل'; // إذا كان العمر أقل من 18 عامًا، يتم عرض طفل
} else {
    إchos 'بالغ'; // إذا كان العمر أكبر أو يساوي 18 عامًا، يتم عرض بالغ
}
؟>
اختبار ل‹/›

باستخدام العملاق الثلاثي، يمكنك كتابة نفس الكود بطريقة أكثر ت紧凑ة:

<?php 
    $age = 15;
    إchos ($age < 18) ? 'طفل' : 'بالغ'; 
؟>
اختبار ل‹/›

في المثال السابق، إذا كان حساب الحالة للشرط الحقيقي (أي $age أقل من 18)، يتم اختيار القيمة على يسار الثلاثية (أي 'طفل')، وإذا كان حساب الحالة للشرط الخاطئ يُختار القيمة على يمين الثلاثية (أي 'بالغ').

نصيحة:قد يكون الكود المكتوب باستخدام العملاق الثلاثي صعب القراءة. ولكن، يقدم طريقة جيدة لكتابة جمل if-else مدمجة.

عملاق الاندماجPHP 7

أضاف PHP 7 عملاق جديد الاندماج (??)، يمكنك استخدامه كشكل مختصر، حيث يجب دائمًا دمج العملاق الثلاثي ووظيفة isset().

لتوضيح هذا، انظر إلى الأطراف التالية من الكود. إنه يحصل على قيمة $_GET['name']، إذا كانت غير موجودة أو NULL، فيرجع إلى 'anonymous'.

<?php
//استخدام العملاق الثلاثي(?:)
$name = isset($_GET['name']) ? $_GET['name'] : 'anonymous';
إchos $name;
؟>
اختبار ل‹/›

باستخدام عملاق الاندماج، يمكنك كتابة نفس الكود كالتالي:

<?php
//استخدام عملاق الاندماج (??)
$name = $_GET['name'] ?? 'anonymous';
إchos $name;
؟>
اختبار ل‹/›

كما ترونه، الجملة التالية أكثر ت紧凑ة وسهولة في الكتابة.