Hướng dẫn php series - loạt php

PHP là một trong những ngôn ngữ lập trình web phổ biến nhất và khá là dễ học. Điều này chắc chắn bạn cũng biết. là một trong những ngôn ngữ lập trình web phổ biến nhất và khá là dễ học. Điều này chắc chắn bạn cũng biết.

Thế nên bạn và rất nhiều người đang tìm cách học lập trình PHP để cuối cùng hi vọng trở thành PHP Web DEV (hoặc chỉ đơn giản là học để thi tốt hơn ở trên trường)học lập trình PHP để cuối cùng hi vọng trở thành PHP Web DEV (hoặc chỉ đơn giản là học để thi tốt hơn ở trên trường)

Dù cho là lý do gì, mình nghĩ rằng một hướng dẫn tự học lập trình php cơ bản, đầy đủ, rõ ràng, dễ hiểu ở đây sẽ giúp ích cho bạn khi mới bắt đầu.tự học lập trình php cơ bản, đầy đủ, rõ ràng, dễ hiểu ở đây sẽ giúp ích cho bạn khi mới bắt đầu.

> Note: Video đang update nha...

Dù có khá nhiều thứ cần phải trình bày, nhưng mình sẽ cố gắng làm ngắn gọn các khái niệm, tập trung vào ví dụ để bạn nhanh chóng nắm bắt được cốt lõi về lập trình PHP. (Đảm bảo dễ dàng cả đối với người mới bắt đầu học lập trình)ngắn gọn các khái niệm, tập trung vào ví dụ để bạn nhanh chóng nắm bắt được cốt lõi về lập trình PHP. (Đảm bảo dễ dàng cả đối với người mới bắt đầu học lập trình)

Mục lục:

Để chuẩn bị cho việc học PHP thuận lợi, bạn hãy cài đặt Xampp và một phần mềm soạn thảo có thể là Sublime Text, NetBeans, Eclipse, PHP Storm, ... tùy ý (Mình thì sử dụng VS Code).cài đặt Xampp và một phần mềm soạn thảo có thể là Sublime Text, NetBeans, Eclipse, PHP Storm, ... tùy ý (Mình thì sử dụng VS Code).

Và nên nhớ phải cài đặt Port (cổng) trên Xampp đúng để có thể chạy được code PHP


 

Sau khi đã cài đặt xong, bây giờ thì bắt đầu ngay thôi nào!

I. CÚ PHÁP PHP CƠ BẢN

Phần này chúng ta sẽ đi tìm hiểu nhanh về PHP, PHP tag, cách xuất dữ liệu trong PHP và cách comment code trong PHP.

I.1. Giới thiệu về PHP

PHP (viết tắt của Hypertext Preprocessor) là một ngôn ngữ kịch bản mã nguồn mở miễn phí, rất phổ biến. Các tập lệnh PHP được thực thi trên máy chủ. (viết tắt của Hypertext Preprocessor) là một ngôn ngữ kịch bản mã nguồn mở miễn phí, rất phổ biến. Các tập lệnh PHP được thực thi trên máy chủ.

PHP có thể làm:

  • Tạo nội dung trang web động
  • Tạo, mở, đọc, ghi, xóa và đóng tệp trên máy chủ
  • Thu thập dữ liệu biểu mẫu
  • Thêm, xóa và sửa đổi thông tin được lưu trữ trong cơ sở dữ liệu của bạn
  • Kiểm soát quyền truy cập của người dùng
  • Mã hóa dữ liệu
  • và nhiều hơn nữa!

> Lưu ý: Trước khi bắt đầu tự học PHP, bạn nên học qua về HTML nhé.> ? Có thể bạn chưa biết: Lõi của Wordpress (Hệ thống CMS hàng đầu thế giới) được viết bằng PHP. PHP cũng là một phần của mạng xã hội Facebook!Lưu ý: Trước khi bắt đầu tự học PHP, bạn nên học qua về HTML nhé.> ? Có thể bạn chưa biết: Lõi của Wordpress (Hệ thống CMS hàng đầu thế giới) được viết bằng PHP. PHP cũng là một phần của mạng xã hội Facebook!

Và dĩ nhiên, còn có rất nhiều lý do để chọn học PHP:

  • PHP chạy trên nhiều nền tảng khác nhau: Windows, Linux, Unix, Mac OS X, v.v.
  • PHP tương thích với hầu hết mọi máy chủ hiện đại, chẳng hạn như Apache, IIS, v.v.
  • PHP hỗ trợ nhiều loại cơ sở dữ liệu.
  • PHP là miễn phí!
  • Đặc biệt: PHP rất dễ học và tối ưu cho lập trình website.

I.2. PHP Tag

Một đoạn code PHP phải bắt đầu bằng <?php và kết thúc bằng ?>

PHP có thể nhúng trực tiếp trong thẻ HTML.

Hướng dẫn tạo và chạy dự án PHP với VS Code

Đây là một ví dụ về một tệp PHP đơn giản. Tập lệnh PHP sử dụng một hàm tích hợp sẵn (built-in fucntion) có tên là echo (đọc là ê cô) để xuất ra đoạn text Hello World! đến một trang web.

File index.php

Tự học PHPtitle>Tự học PHP

> Lưu ý: Câu lệnh PHP kết thúc bằng dấu chấm phảy ;Lưu ý: Trong các ví dụ trong bài viết này, mình sẽ rất ít đưa code HTML để đảm bảo ví dụ ngắn gọn, rõ ràng. Bạn có test kết quả bằng cách nhét vào file HTML và chạy file Hello World!2 hoặc chạy thẳng file ?>1 đều được.

I.4. Comment trong PHP

Trong code PHP, comment (chú tích) là một dòng không được thực thi.

Comment được sử dụng để nhận xét, mô tả về ý nghĩa của đoạn code giúp người khác đọc hiểu chương trình của bạn.

Hoặc, chính là giúp bạn đọc hiểu code của mình sau một thời gian không đụng vào nó, tránh tình trạng:

"THẰNG CỜ HÓ NÀO CODE NGU THẾ NÀY"

Comment một dòng bắt đầu bằng Hello World!4

Ví dụ: Tạo file Hello World!5 trong thư mục echo1, dán đoạn code sau vào

echo "Tự học PHP"; "

Tự học PHP

";

// Đây là comment 1 dòng

echo "niithanoi.edu.vn"; "

niithanoi.edu.vn

";

?>  >
 

Chạy file với đường dẫn Hello World!7, kết quả ta được: 

Còn comment nhiều dòng trong PHP thì bạn sử dụng /* và */, ví dụ:

echo "Tự học PHP"; "

Tự học PHP

";

// Đây là comment 1 dòng

?>  

        trong PHP

    */

echo "niithanoi.edu.vn"; "

niithanoi.edu.vn

";

?>  >
 

Chạy file với đường dẫn Hello World!7, kết quả ta được: Mẹo #1: Thông thường, chúng ta cũng thường xuyên comment code để tìm và gỡ lỗi:

Còn comment nhiều dòng trong PHP thì bạn sử dụng /* và */, ví dụ:

echo "niithanoi.edu.vn"; "

niithanoi.edu.vn

";

?>  >
 

Chạy file với đường dẫn Hello World!7, kết quả ta được: 

Còn comment nhiều dòng trong PHP thì bạn sử dụng /* và */, ví dụ:Mẹo #2: Chọn đoạn code cần comment và nhấn Ctrl + ? để comment code.

/*

        Đây là comment nhiều dòng

> Mẹo #1: Thông thường, chúng ta cũng thường xuyên comment code để tìm và gỡ lỗi:

//echo "Tự học PHP";

Câu lệnh echo Hello World!8 trên bị comment, nó sẽ không được thực thi.

> Mẹo #2: Chọn đoạn code cần comment và nhấn Ctrl + ? để comment code.

  • II. BIẾN TRONG PHPchữ cái hoặc dấu gạch dưới index.php0
  • Trong phần này chúng ta sẽ tìm hiểu về biến trong PHP, hằng số, các kiểu dữ liệu và phạm vi của biến... không được bắt đầu bằng số
  • II.1. Khai báo biến trong PHPchữ, số và dấu gạch dưới (A-z, 0-9 và _)
  • Biến được sử dụng làm 'vùng chứa' để chúng ta lưu trữ thông tin.phân biệt chữ hoa chữ thường (index.php1 và index.php2 là khác nhau)

Biến PHP bắt đầu bằng dấu đô la Hello World!9, theo sau là tên của biến:

Nguyên tắc đặt tên biến: = "Ngọc Anh";

$tuoi = 18; = 18;

Tên biến phải bắt đầu bằng chữ cái hoặc dấu gạch dưới index.php0 $ten;
 

Tên biến không được bắt đầu bằng số

Tên biến chỉ có thể chứa các ký tự chữ, số và dấu gạch dưới (A-z, 0-9 và _)Lưu ý: Trong PHP, húng ta không cần khai báo kiểu dữ liệu (int, float, String như Java). PHP tự động chuyển biến thành kiểu dữ liệu chính xác, tùy thuộc vào giá trị của nó.

Tên biến phân biệt chữ hoa chữ thường (index.php1 và index.php2 là khác nhau)

Ví dụ:

$ten = "Ngọc Anh";constant) tương tự như các biến. Nhưng chúng không thể thay đổi hoặc index.php4 sau khi chúng đã được định nghĩa.

echo $ten;  

Kết quả:

> Lưu ý: Trong PHP, húng ta không cần khai báo kiểu dữ liệu (int, float, String như Java). PHP tự động chuyển biến thành kiểu dữ liệu chính xác, tùy thuộc vào giá trị của nó.

> Note: Trong PHP, thông thường tên biến được viết theo kiểu index.php3 (chữ thường, cách nhau bằng dấu gạch dưới)(name, value, case-insensitive);
 

II.2. Hằng số

  • Hằng số (constant) tương tự như các biến. Nhưng chúng không thể thay đổi hoặc index.php4 sau khi chúng đã được định nghĩa.
  • Trong PHP, tên của hằng số bắt đầu bằng một chữ cái hoặc một dấu gạch dưới.
  • Để tạo một hằng số, hãy sử dụng hàm index.php5:

// Cú pháp tạo hằng số trong PHP

define(name, value, case-insensitive);  

define("DOMAIN_NAME", "niithanoi.edu.vn");("DOMAIN_NAME""niithanoi.edu.vn");

echo DOMAIN_NAME; DOMAIN_NAME;

Trong đó:
 

index.php6: Chỉ định tên của hằng số

index.php7: Chỉ định giá trị của hằng số

define("DOMAIN_NAME", "niithanoi.edu.vn", true);("DOMAIN_NAME""niithanoi.edu.vn"true);

echo domain_name; domain_name;

Trong đó:
 

index.php6: Chỉ định tên của hằng sốLưu ý: Không cần ký hiệu $ trước tên hằng số

index.php7: Chỉ định giá trị của hằng số

index.php8: Chỉ định xem tên hằng có nên phân biệt chữ hoa chữ thường hay không. Mặc định là index.php9

Ví dụ dưới đây tạo một hằng số có tên phân biệt chữ hoa chữ thường:

// Định nghĩa hằng số CÓ phân biệt HOA - thường

// Kết quả: niithanoi.edu.vn   là một chuỗi các ký tự, chẳng hạn như ;0

Ví dụ, định nghĩa hằng số không phân biệt chữ hoa, chữ thường:

// Định nghĩa hằng số KHÔNG phân biệt HOA - thường

> Lưu ý: Không cần ký hiệu $ trước tên hằng số = "Học PHP";

II.3. Các kiểu dữ liệu trong PHP

Trong PHP, các biến có thể lưu trữ nhiều kiểu dữ liệu khác nhau. = ' niithanoi.edu.vn';
 

Các kiểu dữ liệu được PHP hỗ trợ: String, Integer, Float, Boolean, Array, Object, NULL, Resource.

Tên biến không được bắt đầu bằng số

Tên biến chỉ có thể chứa các ký tự chữ, số và dấu gạch dưới (A-z, 0-9 và _)

Tên biến phân biệt chữ hoa chữ thường (index.php1 và index.php2 là khác nhau) là một số nguyên (không có số thập phân) phải phù hợp với các tiêu chí sau:

  • Ví dụ:
  • $ten = "Ngọc Anh";
  • echo $ten;  

Kết quả: = 42// Số nguyên dương

> Lưu ý: Trong PHP, húng ta không cần khai báo kiểu dữ liệu (int, float, String như Java). PHP tự động chuyển biến thành kiểu dữ liệu chính xác, tùy thuộc vào giá trị của nó. = -42// Số nguyên âm
 

> Note: Trong PHP, thông thường tên biến được viết theo kiểu index.php3 (chữ thường, cách nhau bằng dấu gạch dưới)Lưu ý: Trong PHP, các biến có thể chứa các kiểu dữ liệu khác nhau.

II.2. Hằng số

Float là một số thập phân, trong PHP thì không cần khai báo kiểu dữ liệu float: là một số thập phân, trong PHP thì không cần khai báo kiểu dữ liệu float:

Kiểu dữ liệu Boolean

Boolean là kiểu dữ liệu logic, nó có hai trạng thái: ;4 hoặc index.php9 là kiểu dữ liệu logic, nó có hai trạng thái: ;4 hoặc index.php9

Kiểu boolean thì thường được dùng trong kiểm tra điều kiện (sẽ học ở phần sau)

Bạn cũng có thể sử dụng kết hợp các loại dữ liệu trong một chương trình mà không xảy ra vấn đề gì.

$input = "10"; = "10";

// Số nguyên

$x = 10; = 10;

// Tính tổng

$tong = $input + $x;  = $input + $x;

// Xuất tổng

echo $tong;   $tong;
 

> Lưu ý: Nếu như ở trong JAVA (các ngôn ngữ chặt chẽ) thì điều này là không thể. Nhưng PHP là ngôn ngữ động (giống JavaScript) nên nó tự động chuyển kiểu dữ liệu của biến ;6 thành kiểu ;7 và tính tổng.Lưu ý: Nếu như ở trong JAVA (các ngôn ngữ chặt chẽ) thì điều này là không thể. Nhưng PHP là ngôn ngữ động (giống JavaScript) nên nó tự động chuyển kiểu dữ liệu của biến ;6 thành kiểu ;7 và tính tổng.

II.4. Phạm vi của biến

Các biến PHP có thể được khai báo ở bất kỳ đâu trong tập lệnh.

Phạm vi của một biến là một phần của tập lệnh, trong đó biến có thể được tham chiếu hoặc sử dụng.

Phạm vi biến được sử dụng nhiều nhất của PHP là cục bộ, toàn cục.

  • Một biến được khai báo bên ngoài một hàm có phạm vi toàn cục.
  • Một biến được khai báo trong một hàm có phạm vi cục bộ và chỉ có thể được truy cập trong hàm đó.

Ví dụ:

$ten = "Ngọc Anh"; = "Ngọc Anh";

// Tạo một hàm

function getTen() { getTen() {

echo $ten; $ten;

}

// Gọi hàm

getTen();  ();
 

Kết quả dẫn đến lỗi:

Bởi vì, biến $ten là toàn cục và không thể truy cập được trong hàm getTen().

Để truy cập biến toàn cục từ bên trong hàm. Chúng ta cần sử dụng từ khóa ;8, như ví dụ sau:

$ten = "Ngọc Anh"; = "Ngọc Anh";

// Tạo một hàm

function getTen() { getTen() {

}

global $ten; $ten;

echo $ten; $ten;

}

// Gọi hàm

getTen();  ();
 

Kết quả dẫn đến lỗi:

Bởi vì, biến $ten là toàn cục và không thể truy cập được trong hàm getTen().

Để truy cập biến toàn cục từ bên trong hàm. Chúng ta cần sử dụng từ khóa ;8, như ví dụ sau:

// Truy cập biến toàn cục

Kết quả:

II.5. Biến của biến = "Tự học PHP";

Trong PHP, bạn có thể sử dụng một biến để chỉ định tên của biến khác, ví dụ ;9 $$a;
 

Kết quả dẫn đến lỗi:

Bởi vì, biến $ten là toàn cục và không thể truy cập được trong hàm getTen().

Để truy cập biến toàn cục từ bên trong hàm. Chúng ta cần sử dụng từ khóa ;8, như ví dụ sau:

// Truy cập biến toàn cục

Kết quả:

II.5. Biến của biến

Trong PHP, bạn có thể sử dụng một biến để chỉ định tên của biến khác, ví dụ ;9

Nó sẽ coi giá trị của biến <script>0 như là tên của nó.

Ví dụ:

$b = 2; = 2;

$ten = "Ngọc Anh";

// Tạo một hàm $a + $b// Kết quả: 7

}

// Gọi hàm $a - $b// Kết quả: 3

getTen();  

Kết quả dẫn đến lỗi: $a * $b// Kết quả: 10

Bởi vì, biến $ten là toàn cục và không thể truy cập được trong hàm getTen().

Để truy cập biến toàn cục từ bên trong hàm. Chúng ta cần sử dụng từ khóa ;8, như ví dụ sau: $a / $b// Kết quả: 2.5

// Truy cập biến toàn cục

Kết quả: $a % $b// Kết quả: 1
 

II.5. Biến của biến

Trong PHP, bạn có thể sử dụng một biến để chỉ định tên của biến khác, ví dụ ;9

Nó sẽ coi giá trị của biến <script>0 như là tên của nó.

  • Ví dụ:
  • $x = "Tự học PHP";

echo $$a;  

$b = 2; = 2;

Bởi vì khi viết ;9 thì PHP Engine sẽ hiểu lấy giá trị của biến <script>0 làm tên cho biến mới này.

$a++;++;

$a--;--;

III. TOÁN TỬ TRONG PHP

Trong phần này, bạn sẽ học về một số loại toán tử phổ biến như toán tử toán học, toán tử gán, toán tử so sánh và toán tử logic.$b;

Có rất nhiều thứ bạn sẽ thấy gần giống trong toán học thế nên mình nghĩ phần này sẽ  khá là đơn giản thôi.$b;
 

III.1. Toán tử toán học

Các toán tử toán học làm việc với các giá trị số để thực hiện các phép toán số học thông thường.tăng sau:

  • Một số toán tử toán học thông thường
  • // Phép cộng

Ví dụ:

$ten = "Ngọc Anh"; $a++ + 2// Kết quả: 7

// Tạo một hàm $a// Kết quả: 6
 

}

// Gọi hàm

getTen();  tăng trước:

Kết quả dẫn đến lỗi: ++$a + 2// Kết quả: 8

// Tạo một hàm $a// Kết quả: 6
 

}

// Gọi hàm

getTen();  

$b = a; = a;

Kết quả dẫn đến lỗi: $a// Kết quả: 5

echo $b; // Kết quả: 5   $b// Kết quả: 5
 

Toán tử gán cũng có thể sử dụng kết hợp với các toán tử toán học.

Ví dụ:

// Sử dụng *=

$a *= 2; *= 2;

echo $a; // Kết quả: 10   $a// Kết quả: 10
 

III.3. Toán tử so sánh

Toán tử so sánh sẽ so sánh giá trị của hai biến với nhau (Có thể là số hoặc chuỗi)

Nếu đúng thì sẽ trả về ;4 và ngược lại sẽ trả về index.php9

Toán tử so sánh này cũng không có gì khó. Hầu như là so sánh toán học cơ bản thôi.

Tuy nhiên, cần chú ý là toán tử <?php ?>5 và <?php ?>6

  • Trong khi <?php ?>5 so sánh giá trị, không quan tâm đến kiểu dữ liệu. Nghĩa là <?php ?>8 sẽ trả về ;4

  • Nhưng <?php ?>6 so sánh cả giá trị và kiểu dữ liệu, <? ?>1 sẽ trả về index.php9

Ngoài ra, các toán tử so sánh sau cũng rất hay được sử dụng:


III.4. Toán tử Logic

Toán tử logic được sử dụng để kết hợp các câu lệnh điều kiện

Ví dụ: Kiểm tra xem, nếu <script>0 lớn hơn <? ?>4 và <script>0 lớn hơn <? ?>6 thì in ra <? ?>7. Ngược lại thì in ra <? ?>8

$b = 3; = 3;

if(( $a > 10 ) && ( $a > $b )) {(( $a > 10 ) && ( $a > $b )) {

echo "Đúng"; "Đúng";

} else {else {

echo "Sai"; "Sai";

}  
 

Kết quả:

> Lưu ý: Nếu nhiều điều kiện kết hợp thì tốt nhất bạn nên sử dụng thêm các cặp ngoặc tròn ( )Lưu ý: Nếu nhiều điều kiện kết hợp thì tốt nhất bạn nên sử dụng thêm các cặp ngoặc tròn ( )

IV. MẢNG TRONG PHP

Trong phần này, bạn sẽ học về kiểu dữ liệu đặc biệt đó là Mảng.

Một mảng có thể chứa nhiều hơn một giá trị tại một thời điểm.

Bình thường, bạn có một danh sách tên sinh viên, sử dụng biến bạn sẽ lưu trữ tên sinh viên như sau:

$sinhVien2 = "Thu Hương"; = "Thu Hương";

$sinhVien3 = "Vũ Hà";   = "Vũ Hà";
 

Số lượng sinh viên ít thì còn có thể, nhưng 1000 sinh viên thì không thể lưu trữ như thế được.

Do đó, chúng ta cần sử dụng mảng.

IV.1. Mảng chỉ số

Mảng chỉ số là một mảng, trong đó, các giá trị sẽ được đánh dấu vị trí (chỉ mục) tự động từ 0 (Luôn luôn đánh thứ tự từ 0)

Ví dụ, ta có:

$arr = array("A", "B", "C", "D", "E");   = array("A""B""C""D""E");
 

Trong đó:

  • <? ?>9 là tên mảng (bạn đặt tùy ý)
  • ?>00 là từ khóa để tạo mảng trong PHP

Bạn cũng có thể gán thủ công như sau:

// theo chỉ mục (index)

$arr[0] = "A";[0] = "A";

$arr[1] = "B";[1] = "B";

$arr[2] = "C";[2] = "C";

$arr[3] = "D"; [3] = "D";

$arr[4] = "E";  [4] = "E";
 

Bây giờ, chúng ta có thể truy cập vào giá trị của mảng bằng cách sử dụng index.

echo $arr[1]; // Kết quả: B   $arr[1]; // Kết quả: B
 

Ngoài ra, giá trị của mảng cũng có thể là nhiều kiểu dữ liệu khác nhau:

// Mảng PHP có thể chứ nhiều loại giá trị

$arr = array(0, "Không", false); = array(0"Không"false);

echo $arr[0].$arr[1]; // kết quả: 0Không   $arr[0].$arr[1]; // kết quả: 0Không
 

Chúng ta cũng có thể sử dụng index để gán lại giá trị trong mảng (thay đổi giá trị trong mảng)

$arr = array(1, 2, 3, 4, 5);  = array(12345);

// Thay đổi giá trị đầu tiên của mảng

$arr[0] = 10;[0] = 10;

// In ra giá trị đầu tiên của mảng

echo $arr[0];   $arr[0];
 

Kết quả:

> Lưu ý: Nếu nhiều điều kiện kết hợp thì tốt nhất bạn nên sử dụng thêm các cặp ngoặc tròn ( )

IV. MẢNG TRONG PHP trong PHP cũng là một mảng nhưng mảng liên kết chứa các cặp ?>01

Trong phần này, bạn sẽ học về kiểu dữ liệu đặc biệt đó là Mảng.

Một mảng có thể chứa nhiều hơn một giá trị tại một thời điểm. = array("Ngọc Anh" => 18"Thu Hương" => 19"Vũ Hà" => 20);
 

Bình thường, bạn có một danh sách tên sinh viên, sử dụng biến bạn sẽ lưu trữ tên sinh viên như sau:

$sinhVien2 = "Thu Hương";["Ngọc Anh"] = 18;

$sinhVien3 = "Vũ Hà";  ["Thu Hương"] = 19;

Số lượng sinh viên ít thì còn có thể, nhưng 1000 sinh viên thì không thể lưu trữ như thế được.["Vũ Hà"] = 20;
 

Do đó, chúng ta cần sử dụng mảng.Lưu ý: Trong mảng liên kết, chúng ta sử dụng ký hiệu ?>02 để gán giá trị cho key

IV.1. Mảng chỉ số

Mảng chỉ số là một mảng, trong đó, các giá trị sẽ được đánh dấu vị trí (chỉ mục) tự động từ 0 (Luôn luôn đánh thứ tự từ 0) = array("Ngọc Anh" => 18"Thu Hương" => 19"Vũ Hà" => 20);

Ví dụ, ta có:

$arr = array("A", "B", "C", "D", "E");   $arr["Ngọc Anh"]; // Kết quả: 18
 

Trong đó:

<? ?>9 là tên mảng (bạn đặt tùy ý)

?>00 là từ khóa để tạo mảng trong PHP["Ngọc Anh"] = 20;

Bạn cũng có thể gán thủ công như sau: $arr["Ngọc Anh"]; // Kết quả: 20
 

// theo chỉ mục (index)

$arr[3] = "D";

$arr[4] = "E";  

  • Bây giờ, chúng ta có thể truy cập vào giá trị của mảng bằng cách sử dụng index.
  • echo $arr[1]; // Kết quả: B  

Ngoài ra, giá trị của mảng cũng có thể là nhiều kiểu dữ liệu khác nhau:

Ví dụ về mảng 2 chiều:

$arr = array( = array(

"Sinh viên" => array("Ngọc Anh", "Thu Hương"), => array("Ngọc Anh""Thu Hương"),

"Giảng viên" => array("Thành Luân", "Trọng Triều", "Văn Quyết"), => array("Thành Luân""Trọng Triều""Văn Quyết"),

"Bảo vệ" => array("Khánh", "Đức")  => array("Khánh""Đức")

);  
 

Truy xuất giá trị trong mảng 2 chiều:

echo $arr["Sinh viên"][1]; // Kết quả: Thu Hương   $arr["Sinh viên"][1]; // Kết quả: Thu Hương
 

Bạn cũng có thể không cần sử dụng key để tạo mảng con bên trong:

$arr = array( = array(

array("Ngọc Anh", "Thu Hương"),("Ngọc Anh""Thu Hương"),

array("Thành Luân", "Trọng Triều", "Văn Quyết"),("Thành Luân""Trọng Triều""Văn Quyết"),

array("Khánh", "Đức")("Khánh""Đức")

);  
 

Truy xuất giá trị trong mảng 2 chiều:

echo $arr["Sinh viên"][1]; // Kết quả: Thu Hương   $arr[1][1]; // Kết quả: Trọng Triều
 

Bạn cũng có thể không cần sử dụng key để tạo mảng con bên trong:

array("Ngọc Anh", "Thu Hương"),

$arr = array( = array(

"Sinh viên" => array("Ngọc Anh", "Thu Hương"), => array("Ngọc Anh""Thu Hương"),

array("Thành Luân", "Trọng Triều", "Văn Quyết"), => array("Thành Luân""Trọng Triều""Văn Quyết"),

array((

array("Khánh", "Đức") => 20,

Khi đó truy xuất giá trị bạn sẽ sử dụng index: => 30

echo $arr[1][1]; // Kết quả: Trọng Triều  

);  
 

Truy xuất giá trị trong mảng 2 chiều:

echo $arr["Sinh viên"][1]; // Kết quả: Thu Hương  cấu trúc điều kiệncác cấu trúc lặp để điều khiển chương trình PHP một cách thông minh, linh hoạt.

Bạn cũng có thể không cần sử dụng key để tạo mảng con bên trong:

array("Ngọc Anh", "Thu Hương"),

array("Thành Luân", "Trọng Triều", "Văn Quyết"),

array("Khánh", "Đức")

Khi đó truy xuất giá trị bạn sẽ sử dụng index:

echo $arr[1][1]; // Kết quả: Trọng Triều  

Mảng đa chiều có thể vừa chứa mảng liên kết vừa chứa mảng chỉ số:else {

Khi đó truy xuất giá trị bạn sẽ sử dụng index:

echo $arr[1][1]; // Kết quả: Trọng Triều  

Mảng đa chiều có thể vừa chứa mảng liên kết vừa chứa mảng chỉ số:
 

// chứa mảng chỉ số và mảng liên kết

  • "Giảng viên" => array("Thành Luân", "Trọng Triều", "Văn Quyết"),

"Khánh" => 20,

Khi đó truy xuất giá trị bạn sẽ sử dụng index:

echo $arr[1][1]; // Kết quả: Trọng Triều  

Mảng đa chiều có thể vừa chứa mảng liên kết vừa chứa mảng chỉ số:
 

// chứa mảng chỉ số và mảng liên kết

$b = 10; = 10;

"Giảng viên" => array("Thành Luân", "Trọng Triều", "Văn Quyết"),

if ($a > $b) { ($a > $b) {

echo $a; $a;

Mảng đa chiều có thể vừa chứa mảng liên kết vừa chứa mảng chỉ số:else {

echo $b; $b;

Mảng đa chiều có thể vừa chứa mảng liên kết vừa chứa mảng chỉ số:
 

// chứa mảng chỉ số và mảng liên kết

"Giảng viên" => array("Thành Luân", "Trọng Triều", "Văn Quyết"),

if ($age  ($age  20, "Chưa đủ tuổi yêu";

else

"Đức" => 30 "Lớn rồi";
 

// chứa mảng chỉ số và mảng liên kết

"Giảng viên" => array("Thành Luân", "Trọng Triều", "Văn Quyết"),

"Khánh" => 20,if elseif else nếu muốn chuyển sang kiểm tra điều kiện tiếp theo nếu điều kiện trước bị sai.

"Đức" => 30

)

echo $arr[1][1]; // Kết quả: Trọng Triều  

Mảng đa chiều có thể vừa chứa mảng liên kết vừa chứa mảng chỉ số:elseif (condition) {

)

V. CẤU TRÚC ĐIỀU KHIỂN TRONG PHP

Mảng đa chiều có thể vừa chứa mảng liên kết vừa chứa mảng chỉ số:else {

)

V. CẤU TRÚC ĐIỀU KHIỂN TRONG PHP

Mảng đa chiều có thể vừa chứa mảng liên kết vừa chứa mảng chỉ số:
 

// chứa mảng chỉ số và mảng liên kết

if ($age  ($age  20, "Chưa đủ tuổi yêu";

"Đức" => 30elseif ($age >= 14 && $age  array("Thành Luân", "Trọng Triều", "Văn Quyết"),

"Khánh" => 20,

"Đức" => 30

  • while
  • )
  • for
  • V. CẤU TRÚC ĐIỀU KHIỂN TRONG PHP

Trong phần này bạn sẽ học về các cấu trúc điều kiện và các cấu trúc lặp để điều khiển chương trình PHP một cách thông minh, linh hoạt.

Đối với mỗi điều kiện khác nhau chúng ta sẽ điều khiển chương trình thực thi các quyết định khác nhau.while thực thi một khối code miễn là điều kiện vẫn được đánh giá là đúng (true)

V.1. Câu lệnh IF ELSE trong PHP

Câu lệnh if else được sử dụng để thực thi một hành động nhất định nếu một điều kiện là đúng và một hành động khác khác nếu điều kiện là sai.

Cú pháp câu lệnh if else:

Mảng đa chiều có thể vừa chứa mảng liên kết vừa chứa mảng chỉ số:
 

// chứa mảng chỉ số và mảng liên kếtLưu ý: Nếu điều kiện không bao giờ sai, vòng lặp sẽ chạy vĩnh viễn. Điều này có thể dẫn đến máy bị "đơ". Thế nên hãy cẩn thận!

"Giảng viên" => array("Thành Luân", "Trọng Triều", "Văn Quyết"), Vòng lặp while chạy với điều kiện ?>06 nhỏ hơn ?>07 (?>08). Vòng chạy đầu tiên biến ?>06 là <script language = "php">2 (?>11). .

"Khánh" => 20,

while($i ($i  Chú ý: Vòng lặp while và do while được sử dụng tốt nhất trong trường hợp bạn không biết trước chắc chắn số lần lặp.

  • V.5. Vòng lặp for trong PHP

Vòng lặp for trong PHP (cũng như các ngôn ngữ khác) được sử dụng khi bạn biết trước số lần lặp.Cảnh báo: Hãy cẩn thận! Nếu bạn bỏ quên điều kiện kiểm tra hoặc điều kiện kiểm tra luôn đúng thì có thể sẽ tạo ra vòng lặp vô hạn.

Cú pháp vòng lặp for:

// Code thực thi trong PHP được tạo ra chỉ để lặp qua các phần tử trong mảng bao gồm cả mảng chỉ số và mảng liên kết.

?>17: Khởi tạo giá trị bộ đếm của vòng lặp

foreach ($array as $value) { ($array as $value) {

> Chú ý: Vòng lặp while và do while được sử dụng tốt nhất trong trường hợp bạn không biết trước chắc chắn số lần lặp.

V.5. Vòng lặp for trong PHP

Vòng lặp for trong PHP (cũng như các ngôn ngữ khác) được sử dụng khi bạn biết trước số lần lặp.

foreach ($array as $key => $value) { ($array as $key => $value) {

> Chú ý: Vòng lặp while và do while được sử dụng tốt nhất trong trường hợp bạn không biết trước chắc chắn số lần lặp.

}  
 

Trong đó:

  • ?>03 là điều kiện sẽ được đánh giá Đúng / Sai từ vòng lặp thứ 2 trở đi
  • Ví dụ vòng lặp do while:
  • } while ($i 

Kết quả ta được:

  • Kết quả bạn thấy giống vòng lặp while không?

Để thấy sự khác nhau, chúng ta sửa lại điều kiện một chút:

echo "Vòng lặp thứ: $i ";
$sinhVien = array("Ngọc Anh""Hà""Hương");

Kết quả khi chạy chương trình:

foreach ($sinhVien as $sv) { ($sinhVien as $sv) {

echo $sv.""; $sv."
"
;

}  
 

Bởi vì vòng lặp do while kiểm tra điều kiện sau nên dù điều kiện đúng hay sai nó cũng chạy ít nhất 1 lần.

  • Sau đó, khi kiểm tra điều kiện thấy sai thì thoát vòng lặp. Do đó, ta được kết quả như trên.

> Chú ý: Vòng lặp while và do while được sử dụng tốt nhất trong trường hợp bạn không biết trước chắc chắn số lần lặp.

$sinhVien = array( = array(

V.5. Vòng lặp for trong PHP => 18,

Vòng lặp for trong PHP (cũng như các ngôn ngữ khác) được sử dụng khi bạn biết trước số lần lặp. => 19,

Cú pháp vòng lặp for: => 22

// Code thực thi

Kết quả khi chạy chương trình:

foreach ($sinhVien as $ten => $tuoi) { ($sinhVien as $ten => $tuoi) {

Bởi vì vòng lặp do while kiểm tra điều kiện sau nên dù điều kiện đúng hay sai nó cũng chạy ít nhất 1 lần. "$ten$tuoi tuổi"."
"
;

}  
 

Sau đó, khi kiểm tra điều kiện thấy sai thì thoát vòng lặp. Do đó, ta được kết quả như trên.
Hà: 19 tuổi
Hương: 22 tuổi
 

V.7. Switch Case trong PHP

Câu lệnh switch case là một giải pháp thay thế cho câu lệnh if elseif else.switch case là một giải pháp thay thế cho câu lệnh if elseif else.

Chúng ta sử dụng câu lệnh switch case để đánh giá điều kiện, sau đó chọn một trường hợp thỏa mãn để thực thi. Nếu không thì mặc định thực thi khối lệnh nào đó (nếu có)

case value1: value1:

// Code thực thi nếu n bằng value 1

break;;

case value2: value2:

// Code thực thi nếu n bằng value 2

break;;

...

default::

// Code thực thi nếu không có

// trường hợp nào thỏa mãn

}  
 

Đầu tiên, biểu thức đơn của chúng ta ?>35 (thường là một biến) sẽ được đánh giá 1 lần.

Nếu giá trị nào trong các trường hợp (case) khớp thì chương trình sẽ thực thi khối code bên trong case đó.

Và nếu không trường hợp nào khớp thì chương trình sẽ thực thi khối code bên trong ?>36.

Chúng ta sẽ làm một ví dụ cổ điển để thông báo các ngày trong tuần:

switch ($today) { ($today) {

case "Mon": "Mon":

echo "Thứ Hai"; "Thứ Hai";

break;;

case "Tue": "Tue":

echo "Thứ Ba"; "Thứ Ba";

break;;

case "Wed":  "Wed":

echo "Thứ Tư"; "Thứ Tư";

break;;

case "Thu": "Thu":

echo "Thứ Năm"; "Thứ Năm";

break;;

case "Fri": "Fri":

echo "Thứ Sáu"; "Thứ Sáu";

break;;

case "Sat": "Sat":

echo "Thứ Bảy"; "Thứ Bảy";

break;;

case "Sun":  "Sun":

echo "Chủ Nhật"; "Chủ Nhật";

break;;

default::

echo "Thứ không hợp lệ"; "Thứ không hợp lệ";

}  
 

Đầu tiên, biểu thức đơn của chúng ta ?>35 (thường là một biến) sẽ được đánh giá 1 lần.

Nếu giá trị nào trong các trường hợp (case) khớp thì chương trình sẽ thực thi khối code bên trong case đó.

Và nếu không trường hợp nào khớp thì chương trình sẽ thực thi khối code bên trong ?>36.

$today = "Sat"; = "Sat";

switch ($today) { ($today) {

case "Mon": "Mon":

echo "Thứ Hai"; "Thứ Hai";

break;;

case "Tue": "Tue":

echo "Thứ Ba"; "Thứ Ba";

break;;

case "Wed": "Wed":

case "Wed":  "Thứ Tư";

break;;

case "Thu": "Thu":

echo "Thứ Năm"; "Thứ Năm";

break;;

case "Fri": "Fri":

echo "Thứ Sáu"; "Thứ Sáu";

break;;

case "Sat": "Sat":

echo "Thứ Bảy"; "Thứ Bảy";

case "Sun":

case "Sun": "Sun":

echo "Chủ Nhật"; "Chủ Nhật";

break;;

default::

echo "Thứ không hợp lệ"; "Thứ không hợp lệ";

}  
 

Đầu tiên, biểu thức đơn của chúng ta ?>35 (thường là một biến) sẽ được đánh giá 1 lần.Note: Mình không có thêm thẻ ?>40 để cho bạn dễ nhìn code switch case. Nếu muốn kết quả xuống hàng thì bạn nối vào trong câu lệnh echo là được.

Nếu giá trị nào trong các trường hợp (case) khớp thì chương trình sẽ thực thi khối code bên trong case đó.

Và nếu không trường hợp nào khớp thì chương trình sẽ thực thi khối code bên trong ?>36.

switch ($today) { ($today) {

case "Mon": "Mon":

case "Tue": "Tue":

case "Wed": "Wed":

case "Thu": "Thu":

case "Fri": "Fri":

Chúng ta sẽ làm một ví dụ cổ điển để thông báo các ngày trong tuần: "Ngày làm việc";

break;;

case "Sat": "Sat":

case "Sun": "Sun":

echo "Thứ Hai"; "Cuối tuần";

break;;

default::

echo "Thứ Ba"; "Lỗi dữ liệu";

}  
 

Đầu tiên, biểu thức đơn của chúng ta ?>35 (thường là một biến) sẽ được đánh giá 1 lần.

Nếu giá trị nào trong các trường hợp (case) khớp thì chương trình sẽ thực thi khối code bên trong case đó. ($today) {

case "Mon": "Mon":

echo "Thứ Hai"; "Thứ Hai";

break;;

case "Tue": "Tue":

echo "Thứ Ba"; "Thứ Ba";

break;;

case "Wed": "Wed":

echo "Thứ Tư"; "Thứ Tư";

break;;

case "Thu": "Thu":

echo "Thứ Năm"; "Thứ Năm";

break;;

case "Fri": "Fri":

echo "Thứ Sáu"; "Thứ Sáu";

break;;

case "Sat": "Sat":

echo "Thứ Bảy"; "Thứ Bảy";

break;;

case "Sun": "Sun":

echo "Chủ Nhật"; "Chủ Nhật";

break;;

default::

echo "Thứ không hợp lệ"; "Thứ không hợp lệ";

}  
 

Đầu tiên, biểu thức đơn của chúng ta ?>35 (thường là một biến) sẽ được đánh giá 1 lần.Lưu ý: Trường hợp ?>36 là tùy chọn, bạn có thể bỏ qua nó.

Nếu giá trị nào trong các trường hợp (case) khớp thì chương trình sẽ thực thi khối code bên trong case đó.

Và nếu không trường hợp nào khớp thì chương trình sẽ thực thi khối code bên trong ?>36.break như bạn đã biết ở phần switch case bên trên, nó được sử dụng để thoát khỏi chương trình ngay lập tức.

Chúng ta sẽ làm một ví dụ cổ điển để thông báo các ngày trong tuần:

echo "Thứ Hai";forwhiledo whileforeach. Khi đó câu lệnh sẽ khiến chương trình thoát khỏi vòng lặp ngay lập tức.

echo "Thứ Ba";

case "Wed":  ($i 0$i  Lưu ý: Bạn có thể sử dụng từ khóa ?>52 trong tất cả các cấu trúc lặp.Lưu ý: Bạn có thể sử dụng từ khóa ?>52 trong tất cả các cấu trúc lặp.

V.9. Incule và Require

Câu lệnh include và require cho phép chèn nội dung của một tệp PHP vào tệp PHP khác, trước khi máy chủ thực thi nó.includerequire cho phép chèn nội dung của một tệp PHP vào tệp PHP khác, trước khi máy chủ thực thi nó.

Câu lệnh include

Trong lập trình web php thực tế việc sử dụng include để chèn nội dung giúp tiết kiệm khá nhiều công việc.lập trình web php thực tế việc sử dụng include để chèn nội dung giúp tiết kiệm khá nhiều công việc.

Thông thường, trong website, có nhiều phần sẽ giống nhau. Ví dụ header, footer và menu...

Vì thế, thay vì mỗi trang chúng ta lại viết lại thì ta tách từng phần ra file khác nhau để module hóa.

Bạn có thể tạo tệp ?>55, ?>56 hoặc ?>57 chuẩn cho tất cả các trang trên web của mình.

Sau đó, khi cần cập nhật header thì bạn chỉ cần vào file ?>55 để thay đổi và PHP tự động áp dụng trên toàn bộ trang web.header thì bạn chỉ cần vào file ?>55 để thay đổi và PHP tự động áp dụng trên toàn bộ trang web.

Giả sử, chúng ta tạo một file ?>55 như sau:

echo 'Học lập trình PHP'; '

Học lập trình PHP

';

?>  >
 

Bây giờ, chúng ta có thể chèn file ?>55 vào các trang khác, ví dụ trang index.php bằng câu lệnh ?>62:

Chủ đề