
Tổng hợp căn bản về học lập trình PHP cho người mới bắt đầu (p1)

Bạn có thể đã biết, ngôn ngữ PHP hiện nay là một trong những ngôn ngữ phổ biến nhất trên thế giới. Có đến hơn 80% website hiện nay đang sử dụng PHP và trong tương lai PHP vẫn là một ngôn ngữ lập trình web được ưu chuộng và phổ biến. Để học được PHP không khó, cái khó là bạn phải kiên trì, tìm hiểu và hệ thống kiến thức nền tảng căn bản phải vững, sau đó bạn có thể tùy sức sáng tạo bằng các kiến thức nền đã có. Trong bài học này, mình sẽ cố gắn nhồi nhét tất cả trong 2 bài đăng, vì mình rất ghét phải chia thành nhiều bài. 16 phần cơ bản trong 2 bài này sẽ là nền tảng giúp bạn tiếp cận đến ngôn ngữ PHP một cách nhanh chóng nhất.
Trước khi tiến hành học bạn cần cài đặt môi trường chạy PHP. Trên windows bạn có thể cài XAMPP và sử dụng Apache và MySQL.
Tiếp sau đó hãy sử dụng các cộng cụ edit văn bản. Bạn có thể sử dụng Netbeens để quản lý dự án tốt hơn hoặc chỉ đơn giản là sử dụng notepad là được rồi.
Sau khi cài đặt XAMPP bạn khởi động 2 dịch vụ là Apache và MySQL lên nhé.

Mở phần mềm XAMPP và khởi động Apache và MySQL
Tiếp theo vào đường dẫn: "C:\xampp\htdocs\"
và tạo một thư mục có tên "hocphp"
sau đó tạo một file có đuôi *.php
như sau:
Mở trình duyệt và truy cập vào đường link sau: “http://localhost/hocphp/test.php”
Như vậy là thiết lập xong rồi. Bây giờ bạn chỉ cần mở tệp test.php
ra và code theo các phần học dưới, sau đó lưu lại và nhấn F5 xem kết quả nha.
1. Cú pháp PHP
Mỗi ngôn ngữ lập trình đều có những cú pháp riêng biệt để nhận dạng. PHP hỗ trợ 2 cách viết như sau.
Thẻ PHP chính tắc
Đây là đoạn thường được sử dụng nhất và mình khuyên bạn nên sử dụng kiểu viết này.
<?php...?>
Thẻ mở ngắn gọn (SGML-style)
Mặc dù khá ngắn ngọn nhưng cách viết này không được khuyến khích lắm vì nó rất dễ gây nhầm lẫn.
<?...?>
Thẻ ASP-style
Thông thường cú pháp này chỉ dùng cho ngôn ngữ ASP vì thế nên hạn chế để tránh nhầm lẫn. Mặc dù môi trường chạy là khác nhau nhưng cách làm này vẫn không được khuyến khích lắm. Để sử dụng được thẻ này thì trong file php.ini của server phải bật tính năng asp_tags.
<%...%>
Thẻ HTML script
Thật dài dòng và khó chịu đúng không. Chắc chắn bạn sẽ không chọn cách viết này, và mình cũng vậy.
<script language="PHP">...</script>
Ví dụ về một đoạn mã PHP mình thường dùng.
<?php echo "<p align='center'>Ví dụ xuất ra HTML sử dụng echo trong PHP!</p>"; print "<p align='center'>Ví dụ xuất ra HTML sử dụng print trong PHP!</p>"; ?>
Lưu ý: Print là một lệnh hàm số, khi được thực thi sẽ trả về kết quả 1, nếu không thì trả về 0. Vậy nên, bạn có thể gán kết quả của lệnh print này cho một biến, còn echo thì không. Dễ hiểu hơn thì bạn có thể xem ví dụ sau:
<?php $var = print 'abc'; $var = echo 'cdef'; //sai ?>
Nhưng print chỉ có 1 tham số, echo có thể có nhiều tham số. Ví dụ như sau:
<?php echo 't','u','a','n'; //dùng được với 4 tham số hoặc hơn echo ('d'),('c'); //còn dùng được cả dấu ngoặc cho từng tham số nữa. print 't'; //đúng print 'd','c'; //sai ?>
Commet trong PHP
Comment là một trong những cách làm đặc biệt quan trọng khi bạn đang thực hiện một dự án nào đó. Không chỉ trong ngôn ngữ php mà nhiều ngôn ngữ khác cũng đều hỗ trợ comment để bạn có thể chú thích code được rõ hơn. Có 2 kiểu comment phổ biết trong PHP như sau:
Comment 1 dòng trong php:
Để comment 1 dòng trong php bạn sử dụng 2 dấu // như sau.
<?php // Một ví dụ về comment 1 dòng ?>
Comment nhiều dòng trong php:
Để comment nhiều dòng trong php thì bạn sử dụng cặp dấu /* nội dung comment */
<?php
/* Ví dụ một comment nhiều dòng:
Bài: hướng dẫn học PHP căn bản
Số bài: 2
Ngôn ngữ: PHP
*/
?>
Một số lưu ý:
- PHP không phân biệt các khoảng trắng.
- PHP phân biệt kiểu chữ: Tức là các biến phải viết đúng, không in hoa, in thường khác khai báo.
- Kết thúc lệnh trong php phải luôn có dấu chấm phẩy “;”.
2. Các kiểu biến
Khi làm việc với bất cứ ngôn ngữ lập trình nào đó, điều đầu tiên bạn quan tâm là các biến và kiểu dữ liệu của chúng. Hầu hết các ngôn ngữ lập trình đều hỗ trợ tất cả các kiểu dữ liệu, chỉ khá là chúng được khai báo như thế nào mà thôi. PHP thì có hỗ trợ tất cả 8 kiểu dữ liệu như sau:
Kiểu dữ liệu trong PHP
- Integer − Kiểu lưu trữ số nguyên. Ví dụ
$bien_int = 1993
- Double − Kiểu lưu trữ số thực. Ví dụ
$bien_double_1 = 3.14159
- Boolean − Kiểu lưu trữ 1 bit, có 2 giá trị TRUE hoặc FALSE. ví dụ
$gioitinh = TRUE
- NULL − Kiểu không có giá trị trống, nó chỉ có giá trị: NULL, ví dụ
$false_null = NULL
. Nó khác =”” nhé. - String − Kiểu lưu trữ ký tự chuỗi. ví dụ:
$string_1 = "Vi du chuoi trong dau nhay kep"
; - Array − Kiểu dữ liệu mảng. Sẽ nói rõ hơn ở phần dưới.
- Object − Là kiểu đối tượng. Chúng được tạo từ lớp do người code tự định nghĩa ra. Mỗi object có các thuộc tính khác nhau. Nếu bạn đã quen với lập trình hướng đối tượng bạn sẽ không còn lạ về kiểu này.
- Resource − là một biến đặc biệt nó giữ tham chiếu tới các tài nguyên ngoại vi đến PHP (ví dụ: kết nối Database). Đây là biến nâng cao và mình sẽ không nói đến nhiều.
Phạm vi của biến trong PHP
- Biến cục bộ trong PHP, biến chỉ sử dụng trong một phạm vi giới hạn, ví dụ:
$x = 10
; - Tham số hàm trong PHP, biến chỉ dùng được trong hàm và có thể truyền thông số từ ngoài vào, ví dụ:
function ham ($value) {lệnh}.
- Biến toàn cục trong PHP biến được dùng ở toàn bộ nơi, ví dụ:
GLOBAL $bien_toan_cuc;
. - Biến tĩnh (hay biến static) trong PHP, Mặc dù được khai báo trong hàm, nhưng nếu bạn gọi 2 lần hàm này thì giá trị của biến này sẽ được giữ nguyên ở lần gọi đầu tiên, Bạn có thể nhìn ví dụ để hiểu hơn:
function ham_demo() {
STATIC $count = 3.14;
$count++;
print $count;
print "<br />";
}
ham_demo();
ham_demo();
ham_demo(); //Giá trị lần lượt là 4.14, 5.14, 6.14
3. Hằng
Hằng là một loại biến đặt biệt, không thay đổi giá trị và dùng trong toàn bộ file mà không cần quan tâm đến phạm vi của nó.
Cú pháp của hằng như sau:
define("Tên hằng", "giá trị hằng");
Hằng thường dùng để khai báo các biến không thay đổi ví dụ như tên CSDL, Database, …
Khi gọi hằng, bạn chỉ cần gọi tên hằng hoặc gọi trong hàm constant(tên hằng)
4. Các loại toán tử
Toàn tử là gì chắc bạn đã biết, sau đây mình sẽ giới thiệu 5 loại toán tử trong PHP để bạn hiểu rõ hơn:
Toán tử số học trong PHP
Các loại toán tử này được áp dụng cho các biến kiểu số. Cụ thể như sau, mình giả sử mình có biến A = 10, B = 20:
Toán tử | Miêu tả | Ví dụ |
---|---|---|
+ | Cộng các toán hạng với nhau | A + B kết quả là 30 |
– | Trừ các toán hạng với nhau | A – B kết quả là -10 |
* | Nhân các toán hạng | A * B kết quả là 200 |
/ | Chia các toán hạng | B / A kết quả là 2 |
% | Chia lấy dư các toán hạng | B % A kết quả là 0 |
++ | Tăng biến lên 1 đơn vị | A++ kết quả là 11 |
— | Giảm đi 1 đơn vị | A– kết quả là 9 |
Toán tử so sánh trong PHP
Toán tử | Miêu tả | Ví dụ |
---|---|---|
== | Trả về True nếu bằng nhau và ngược lại. | (A == B) là không true. |
!= | Trả về True nếu khác nhau và False nếu giống. | (A != B) là true. |
> | Nếu bên trái lớn hơn trả về True và ngược lại. | (A > B) không true. |
< | Nếu bên trái nhỏ hơn trả về True và ngược lại. | (A < B) là true. |
>= | Nếu trái lớn hơn hoặc bằng thì True. | (A >= B) là không true. |
<= | Nếu trái nhỏ hơn hoặc bằng thì True | (A <= B) là true. |
Toán tử logic trong PHP
Toán tử | Miêu tả | Ví dụ |
---|---|---|
and | Đưa ra kết quả đồng nhất khi cả hai cùng đúng. | (A and B) là true. |
or | Đưa ra kết quả đồng nhất khi một trong hai đúng. | (A or B) là true. |
&& | Tương tự như and | (A && B) là true. |
|| | Tương tự như or | (A || B) là true. |
! | Không phải là đúng | !(A && B) là false. |
Toán tử gán trong PHP
Toán tử | Miêu tả | Ví dụ |
---|---|---|
= | Gán giá trị bên phải cho toán hạng trái | C = A + B sẽ gán giá trị của A + B vào trong C |
+= | Cộng giá trị bên phải vào bên trái. | C += A là tương đương với C = C + A |
-= | Trừ giá trị bên phải cho bên trái. | C -= A là tương đương với C = C – A |
*= | Nhân giá trị bên phải vào bên trái. | C *= A là tương đương với C = C * A |
/= | Chia giá trị bên phải cho bên trái. | C /= A là tương đương với C = C / A |
%= | Chia lấy dư giá trị bên phải cho bên trái. | C %= A là tương đương với C = C % A |
Toán tử điều kiện trong PHP
Với toán tử này bạn có thể thay thế bằng hàm lựa chọn sẽ nói ở phần dưới.
Toán tử | Miêu tả | Ví dụ |
---|---|---|
? : | Biểu thức điều kiện | Nếu điều kiện là true ? Thì giá trị X : Nếu không thì giá trị Y |
5. Hàm lựa chọn (if…else, switch)
Các lệnh if
, elseif …else
và switch
được sử dụng để điều khiển luồng dựa trên điều kiện đầu vào, hay có thể gọi là lệnh lựa chọn có điều kiện. Các điều kiện thường được kết hợp bằng toán tử để đưa ra các kết quả true hoặc false. Các lệnh cụ thể như sau.
Lệnh If…Else trong PHP
if (điều_kiện)
phần code này được thực thi nếu điều kiện là true;
else
phần code này được thực thi nếu điều kiện là false;
Lệnh elseif trong PHP
if (điều_kiện_1)
phần code này được thực thi nếu điều kiện 1 là true;
elseif (điều_kiện_2)
phần code này được thực thi nếu điều kiện 2 là true;
else
phần code này được thực thi nếu các điều kiện là false;
Lưu ý. Nếu điều kiện 1 đúng thì điều kiện 2 vẫn được xét và thực thi. Nếu bạn muốn dừng khi điều kiện 1 đúng thì bạn có thể sử dụng break;
dưới phần code của đoạn thực thi điều kiện 1.
Lệnh Switch trong PHP
switch (biểu_thức)
{
case nhãn_1:
phần code này được thực thi nếu biểu_thức = nhãn_1
break;
case nhãn_2:
phần code này được thực thi nếu biểu_thức = nhãn_2
break;
...
default:
phần code này được thực thi nếu
biểu_thức là khác với nhãn_1, nhãn_2, ...
}
Switch được dùng phổ biến hơn so với elseif trong php để tối ưu sự ngắn ngọn.
6. Vòng lặp
Khi bạn có một công việc nào đó giống nhau, được lặp đi, lặp lại nhiều lần, bạn có thể sử dụng vòng lặp để thực hiện điều này. Trong PHP ta có 4 kiểu vòng lặp như sau:
Vòng lặp for trong PHP
Đây là vòng lặp biết trước số lần lập. Vòng lập cho giá trị ban đầu với điều kiện nhất định và tăng giảm giá trị tiếp theo để thỏa mảng điều kiện và dừng. Giả sử tôi có 5 cuốn sách, tôi sẽ dành 1 ngày để đọc 1 cuốn, như vậy giá trị khởi tạo của tôi sẽ là 1. điều kiện của tôi là 1<=5, và tôi sẽ tăng lên mỗi ngày thêm 1 cuốn. Vòng lặp đó được mô tả như sau:
for (khởi_tạo; điều_kiện; tăng_giảm_giá_trị)
{
phần code để thực thi
}
Vòng lặp while trong PHP
Với vòng lặp này, bạn sẽ xác định điều kiện đúng trước khi chạy phần code. Đoạn code trong có thể không được thực hiện lần nào nếu như điều kiện ban đầu không thỏa mãn. Vòng lặp như sau:
while (điều_kiện)
{
phần code được thực thi nếu điều kiện là true
}
Lệnh vòng lặp do…while trong PHP
Với vòng lặp này, nó sẽ thực hiện phần code ít nhất 1 lần. Bạn có thể hiểu là nó sẽ làm trước khi kiểm tra điều kiệ. Và vòng lặp đó được viết như sau.
do
{
phần code để thực thi
}
while (điều_kiện);
Lệnh vòng lặp foreach trong PHP
Đây là vòng lặp được sử dụng với mảng. Nó sẽ không cần đến điều kiện hay biết trước số lần lặp, có nghĩa là nó sẽ lặp cho đến hết giá trị có trong mảng.
foreach (Mảng as giá_trị)
{
phần code để thực thi
}
Lưu ý, chúng ta có thể sử dụng break;
như hàm lựa chọn để thoát ra vòng lặp khi có yêu cầu.
7. Mảng
Chúng ta đã biết qua mảng là một kiểu dữ liệu ở trên rồi, bây giờ chúng ta sẽ cùng tìm hiểu sâu hơn về mảng nhé. Thì mảng là một lớp cấu trúc lưu trữ dữ liệu phổ biến lưu trữ được rất nhiều giá trị. Thay vì sử dụng nhiều biến bạn chỉ cần sử dụng 1 mảng để lưu trữ chúng.. có 3 mảng phổ biến như sau:
Mảng số nguyên trong PHP
Mảng này có thể lưu trữ số, ký tự, chuỗi,… và chúng khi lưu vào mảng sẽ được đánh chỉ mục lần lượt bắt đầu từ 0. Và khi bạn gọi chúng bạn sẽ gọi số đánh dấu của chúng như sau:
/* Phương thức thứ nhất để tạo mảng trong PHP. */
$numbers = array( 1, 2, 3, 4, 5);
/* Phương thức thứ hai để tạo mảng trong PHP. */
$numbers[0] = "giá trị đầu";
$numbers[1] = "giá trị hai";
$numbers[2] = "giá trị ba";
$numbers[3] = "giá trị bốn";
$numbers[4] = "giá trị năm";
Để lấy các giá trị trong mảng bạn có thể sử dung hàm lặp foreach như phần trên đã nói.
foreach( $numbers as $value )
{
echo "Giá trị phần tử mảng là $value <br />";
}
Giải thích tí, $numbers as $value có nghĩa là chúng ta sẽ đưa từng giá trị trong mảng $numbers vào biến $value và hiển thị nó ra theo mỗi vòng lặp.
Mảng liên hợp trong PHP
Không khác gì với mảng ở trên. Tuy nhiên thay vì được đánh chỉ mục là số nguyên nó sẽ được đánh chỉ mục bằng chuỗi cụ thể được gọi là “key” và các giá trị nó mang được gọi là “value”
Ví dụ
/* Phương thức thứ nhất. */
$luong_nhan_vien = array("tuan" => 2000, "vu" => 1000, "tri" => 500);
/* Phương thức thứ hai. */
$luong_nhan_vien['tuan'] = 2000;
$luong_nhan_vien['vu'] = 1000;
$luong_nhan_vien['tri'] = 500;
Để lấy giá trị trong mảng này thực hiện như sau
echo "Lương của nhân viên Tuan là ". $luong_nhan_vien['tuan'] . "<br />";
Mảng đa chiều trong PHP
Mảng đa chiều là một mảng phức tạp, thực tế nó kết hợp và lồng vào khá nhiều mảng liên hợp, Mảng đa chiều là một miêu tả cụ thể về dữ liệu của một bảng. Cụ thể như sau:
Ví dụ
$diemThi = array(
“Tuan” => array
(
“monVatLy” => 7,
“monToan” => 8,
“monHoa” => 9
),
“Vu” => array
(
“monVatLy” => 7,
“monToan” => 9,
“monHoa” => 6
),
“Tri” => array
(
“monVatLy” => 8,
“monToan” => 8,
“monHoa” => 9
)
);
Để truy xuất giá trị thực hiện như sau:
echo "Điểm thi môn Vật Lý của Tuan là: ".$diemThi['Tuan']['monVatLy'] ;
8. Xử lý chuỗi
Chuỗi là các dãy ký tự giống như “hoc php can ban tai tuandc.com”
các chuỗi hợp lệ trong PHP
$string_1 = "Vi du mot chuoi trong PHP";
$string_2 = "Đây là một chuỗi trong PHP";
$string_0 = ""; // ví dụ về chuỗi không có ký tự nào
Các quy tắc thay thế:
\n : Xuống dòng trong PHP.
\r : Đưa con trỏ về đầu dòng (nhưng không xuống dòng)
\t : Dùng như tab
\$ Hiển thị dấu $ (vì $ thông thường sẻ vi phạm biến)
\” Hiển thị dấu kép (vì dấu ” sẽ bị hiểu lầm là kết thúc chuỗi)
\\ được thay thế bằng một dấu nháy đơn \
Toán tử nối chuỗi trong PHP
Để nối hai chuỗi, sử dụng toán tử . (dấu chấm).
Ví dụ
<?php
$string1="Tuan";
$string2="DC";
echo $string1 . " " . $string2;
?>
Tìm độ dài chuỗi trong PHP – Hàm strlen() trong PHP
Trả về số ký tự của chuỗi kể cả dấu cách.
<?php
echo strlen("Tuan DC!");
?>
Tìm ký tự hoặc chuỗi trong chuỗi – Hàm strpos() trong PHP
Trả lại vị trí thấy ký tự đó.
<?php
echo strpos("Tuan DC!","an");
?>
Hãy xem tiếp bài Tổng hợp căn bản về học lập trình PHP cho người mới bắt đầu (p2)
