require - inclue - require_once - include_once
].TRUE
hoặc FALSE
. Được ví như con đường có hai hướng đi, muốn cái gì thì đi hướng này, còn không thì rẽ hướng kia.
IF
Câu lệnh này cho phép chúng ta đặt một điều kiện. Nếu là TRUE
, khối mã nằm trong câu lệnh IF
sẽ được thực thi.
// Syntax:
if (condition){
// if TRUE then execute this code
}
// hoặc có thể được hiếu dưới dạng sau:
if(expr){
statement;
}
$is_admin = true;
// Vì is_admin là true
if ($is_admin)
echo 'Welcome, admin!';
// Output:
Welcome, admin!
Ta có thể thực hiện nhiều câu lệnh trong một hàm if bởi dấu Ngoặc nhọn [
Curly braces {}
].
if ( expression ) {
statement1;
statement2;
// more statement
}
Ta có thể lồng nhiều câu lệnh IF
lại với nhau
if ( expression1 ) {
// do something
if( expression2 ) {
// do other things
}
}
IF
nhúng vào HTML
.// Syntax:
<?php if ( expession) : ?>
<!-- HTML code here -->
<?php endif; ?>
endif;
ở dòng đóng <?php ?>
=> <?php endif; ?>
nếu không sẽ báo lỗi<body>
<?php $is_admin = true; ?>
<?php if ( $is_admin ) : ?>
<a href="#">In IF Statement and only show when condition $is_admin is `true` </a>
<br>
<?php endif; ?>
<a href="#">Out of IF Statement, not effect with condition $is_admin</a>
</body>
Xem ví dụ ở đoạn code IfStatementDemo.php
IF...ELSE
Nối tiếp với IF
, câu lệnh sẽ được thực thi nếu điều kiện là true
. Nhưng đối với điều kiện không đúng false
, thì lúc này câu lệnh else
sẽ làm việc đó.
if ( expression ) {
// code block
} else {
// another code block
}
$is_authenticated = false;
if ( $is_authenticated ) {
echo 'Welcome!';
} else {
echo 'You are not authorized to access this page.'
}
// Output:
You are not authorized to access this page.
IF...ELSE
vào HTML
<?php if ( expression ): ?>
<!--Show HTML code when expression is true -->
<?php else: ?>
<!--Show HTML code when expression is false -->
<?php endif ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>PHP if else Statement Demo</title>
</head>
<body>
<?php $is_authenticated = true; ?>
<?php if ($is_authenticated) : ?>
<a href="#">Logout</a>
<?php else: ?>
<a href="#">Login</a>
<?php endif ?>
</body>
</html>
Xem đoạn code ở IfElseStmtDemo.php
1.3 Câu lệnh
IF...ELSEIF...ELSE
Câu lệnh
ELSEIF
là một dạng câu lệnhIF...ELSE
với nhiều điều kiện hơn.// Syntax: if (expression1) { statement; } elseif (expression2) { statement; } elseif (expression3) { statement; }
Cú pháp thay thế |
PHP if elseif alternative syntax
<?php
if (expression): // « Dấu 2 : ở mỗi dòng thay vì {}
statement;
elseif (expression2):
statement;
elseif (expression3):
statement;
endif;
:
- Semicolon sau mỗi điều kiện sau if
và else if
endif
thay vì dấu ngoặc nhọn - curly brace - {}
vào mục if
cuối cùng.Cách hoạt động của
if-elseif
Phân biệt
elseif
&&else if
|
Elseif
|Else If
| |:————————————-:|:—————————————–:| | Không có khoảng trắng ở giữa | Có khoảng trắng ở giữa | | DÙNG được trongalternative
✅ | KHÔNG DÙNG được trongalternative
❌ |
SWITCH
Câu lệnh Switch
được thực hiện trong nhiều trường hợp khác nhau, tức là nó có nhiều trường hợp khác để thực thi phù hợp với điều kiện
switch(n) {
case statement1:
code to be executed if n==statement1;
break;
case statement2:
code to be executed if n==statement2;
break;
case statement3:
code to be executed if n==statement3;
break;
case statement4:
code to be executed if n==statement4;
break;
......
default:
code to be executed if n != any case;
Flow Chart
(condition) ? if TRUE execute this : otherwise execute this;
Câu lệnh sử dụng dấu chấm hỏi (?)
và dấu hai chấm (:)
và có ba
toán hạng: một điều kiện cần kiểm tra, một kết quả là TRUE
và một kết quả là FALSE
.
// Example
<?php
$x = -12;
if ($x > 0) {
echo "The number is positive \n";
}
else {
echo "The number is negative \n";
}
// >> Tenary Operator
// This lot can be written in a
// single line using ternary operator
echo ($x > 0)
? 'The number is positive'
: 'The number is negative';
?>
for
khi biết chính xác số lần khối cần thực thi.entry-controlled loops
- Kiểm soát mục nhập.
for (initialization expression; test condition; update expression) {
// [1] [2] [3]
// code to be executed
}
Biểu thức khởi tạo [1]: Trong biểu thức này, chúng ta phải khởi tạo bộ đếm vòng lặp thành một giá trị nào đó. ví dụ: $num = 1;
Kiểm tra biểu thức [2]: Trong biểu thức này chúng ta phải kiểm tra điều kiện. Nếu điều kiện là đúng thì chúng ta sẽ thực thi phần thân vòng lặp và cập nhật biểu thức, nếu không chúng ta sẽ thoát khỏi vòng lặp for. Ví dụ: $num <= 10;
Cập nhật biểu thức [3]: Sau khi thực thi phần thân vòng lặp, biểu thức này sẽ tăng/giảm biến vòng lặp theo một giá trị nào đó. ví dụ: $num += 2;
for (start; condition; increment):
statement;
endfor;
Vòng lặp while cũng là một vòng lặp điều khiển mục nhập giống như vòng lặp for, đầu tiên vòng lặp kiểm tra điều kiện ở đầu vòng lặp, nếu đúng nó sẽ thực thi các câu lệnh trong khối điều kiện đó, và thực thi đến khi nào điều kiện còn đúng thì thôi.
while (expression) {
statement;
}
Alternative Syntax for WHILE
while (expression): statement; endwhile;
do-while
thực hiện ít nhất một lần - executes precisely one time.
. Sau một lần, chương trình sẽ thực thi miễn khi câu lệnh là đúng.
do {
//code is executed
} while (if condition is true);
This loop is used to iterate over arrays. For every counter of loop, an array element is assigned and the next counter is shifted to the next element.
// Syntax:
foreach (array_element as value) {
//code to be executed
}
// For-each for ARRAY
foreach ($array_name as $key => $value) {
//process element here;
}
// Example:
<?php
$arr = array (10, 20, 30, 40, 50, 60);
foreach ($arr as $val) {
echo "$val \n";
}
$arr = array ("Ram", "Laxman", "Sita");
foreach ($arr as $val) {
echo "$val \n";
}
?>
// Example 2:
<?php
// Array.md
$capitals = [
'Japan' => 'Tokyo',
'France' => 'Paris',
'Germany' => 'Berlin',
'United Kingdom' => 'London',
'United States' => 'Washington D.C.'
];
foreach ($capitals as $country => $capital) {
echo "The capital city of {$country} is $capital" . '<br>';
}
break
và continue
là hai từ khóa quan trọng trong PHP được sử dụng để kiểm soát luồng thực thi trong các vòng lặp (như for
, while
, do-while
) hoặc cấu trúc điều kiện (switch
).
for ($i = 0; $i < 5; $i++) {
if ($i == 3) {
break; // Dừng vòng lặp khi $i == 3
}
echo $i . " ";
}
for ($i = 0; $i < 5; $i++) {
if ($i == 2) {
continue; // Bỏ qua lần lặp khi $i == 2
}
echo $i . " ";
}
DECLARE
construct được sử dụng để đặt các chỉ thị thực thi - execution directives
. Cú pháp của DECLARE
tương tự như những cú pháp của các kết cấu điều khiển khác.
// Syntax:
declare (directive)
statement
Trong đó directive
- chỉ thị - cho phép thiết lập hành vi của khối declare
. Hiện chỉ có 3 chỉ thị được nhận diện:
Phần câu lệnh (Statement) của khối declare
được thực thi - cách thực thi phụ thuộc vào các hiệu ứng trong quá trình thực thi, phụ thuộc vào chỉ thị được đặt trong (directive block).
<?php
// This is valid:
declare(ticks=1);
// This is invalid:
const TICK_VALUE = 1;
declare(ticks=TICK_VALUE);
?>
N
low-level tickable được thực thi bởi trình biên dịch. Giá trị của N
được chỉ định bằng ticks=N
trong phần chỉ thị của khối declare
.tick
được chỉ định bằng cách sử dụng hàm register_tick_fucntion()
.
<?php
declare(encoding='ISO-8859-1');
// code here
?>
Câu lệnh Return
trả lại quyền điều khiển chương trình về để gọi module. Việc thực thi được tiếp tục tại biểu thức sau lời gọi module.
Nếu được gọi từ bên trong một hàm - function()
, câu lệnh return
ngay lập tức kết thúc việc thực thi của hàm hiện tại và trả về đối số của nó như giá trị của cuộc gọi hàm. return
cũng kết thúc việc thực thi của một câu lệnh eval()
hoặc Script File.
include()
Ví dụ cho 2 file .php và dùng câu lệnh include()
// even.php
<?php
// File to be included
echo "Hello Ocean";
?>
// index.php
<?php
include("even.php");
echo "<br>Above File is Included"
?>
// Result
Hello Ocean
Above File is Included
require()
hoạt động giống như include()
. Nó cũng lấy tệp được yêu cầu và sao chép toàn bộ mã vào tệp nơi hàm required()
được gọi.// even.php <?php // File to be required echo “Hello Ocean 2”; ?>
```php
// index.php
<?php
include("even.php");
echo "<br>Above File is Required"
?>
// Result
Hello Ocean 2
Above File is Required
require
, nhưng các tệp file
được require_once()
nạp vào hệ thống sẽ không phải nạp lại lần nữa nếu đã nạp trước rồi,require_once
sẽ đưa ra lỗi nghiêm trọng nếu tệp không tồn tạiinclude
, nhưng tệp tin sẽ được nạp vào hệ thống, và nếu đã nạp từ trước thì hàm include_once
sẽ không nạp lại.require - inclue - require_once - include_once
]Để so sánh include
, include_once
, require
và require_once
, chúng ta có thể sử dụng một bảng như sau:
Chức năng | Được gọi từ | Nếu tệp không tồn tại | Trả về giá trị | Kết thúc chương trình nếu tệp không tồn tại |
---|---|---|---|---|
include | Bất kỳ đâu | Cảnh báo | None | Không |
include_once | Bất kỳ đâu | Cảnh báo | None | Không |
require | Bất kỳ đâu | Lỗi nghiêm trọng | None | Có |
require_once | Bất kỳ đâu | Lỗi nghiêm trọng | None | Có |
Chú thích:
Như bạn có thể thấy, include
và include_once
chỉ tạo ra cảnh báo nếu tệp không tồn tại, và chương trình sẽ tiếp tục thực thi. Trong khi đó, require
và require_once
tạo ra một lỗi nghiêm trọng nếu tệp không tồn tại, và có thể dẫn đến kết thúc chương trình.
goto
trong PHP được sử dụng để cho phép chương trình đang thực thi nhảy đến một nhãn
được định nghĩa trước đó.
```php
goto label;
// …
label:
/*
php
<?php
goto a;
echo ‘This will not be executed.’;a: echo ‘Hello World!’; ?>
```php
//Output:
Hello World
Vậy
goto
trong một vòng lặp thì sao//Example Loop <?php for($i=0,$j=50; $i<100; $i++) { while($j--) { if($j==17) goto end; } } echo "i = $i"; end: echo 'j hit 17'; ?>
//Output: j hit 17