
Ch±¡ng 1. Bi¿n 3 H¿ng Sß - Toán Tÿ -
Lßnh ißu Khißn
Trong tài lißu này, chúng ta s¿ khám phá vß bi¿n, h¿ng sß, toán tÿ và các lßnh ißu khißn.
L¿p trình PHP
hvluan.la@gmail.com
1

Khái Nißm Bi¿n Trong PHP
Bi¿n trong PHP ±ÿc sÿ dÿng ß l±u trÿ dÿ lißu, nh± sß, chußi vn b¿n, hay các ßi t±ÿng phÿc t¿p h¡n.
T±¡ng tÿ chi¿c hßp ±ÿc dán nhãn, bi¿n giúp b¿n tß chÿc và truy xu¿t thông tin trong ch±¡ng trình.
Cú Pháp Khai Báo Bi¿n
Tên bi¿n luôn b¿t ¿u b¿ng ký tÿ $ và theo sau là tên cÿa bi¿n. Tên bi¿n phân bißt chÿ hoa và chÿ th±ßng, và
chß có thß chÿa các ký tÿ chÿ cái, sß và d¿u g¿ch d±ßi (_). Tên bi¿n không b¿t ¿u b¿ng sß.
$ten_bien = giá_trß;
$hoTen = "Nguyßn Vn A";
$tuoi = 25;
$diem_trung_binh = 8.5;
Quy T¿c ¿t Tên Bi¿n
Luôn b¿t ¿u b¿ng ký tÿ $
Chß chÿa chÿ cái, sß và d¿u g¿ch d±ßi
Không ±ÿc b¿t ¿u b¿ng sß
Phân bißt chÿ hoa và chÿ th±ßng ($ten khác vßi $Ten)
Nên ¿t tên bi¿n có ý ngh)a, liên quan ¿n dÿ lißu mà nó l±u trÿ
Bi¿n có tính ßng, ngh)a là không c¿n ph¿i khai báo kißu dÿ lißu tr±ßc khi sÿ dÿng. PHP s¿ tÿ ßng chuyßn
ßi kißu dÿ lißu dÿa trên giá trß ±ÿc gán.
L¿p trình PHP
hvluan.la@gmail.com
2

Ph¿m Vi Bi¿n Trong PHP
Ph¿m vi cÿa bi¿n ß c¿p ¿n n¡i mà bi¿n có thß ±ÿc truy c¿p trong mã ngußn. Trong PHP, có ba lo¿i ph¿m
vi bi¿n chính: bi¿n cÿc bß (local), bi¿n toàn cÿc (global), và bi¿n t)nh (static).
function tinhTong() {
$a = 5; // Bi¿n cÿc bß
$b = 10; // Bi¿n cÿc bß
return $a + $b;
}
echo $a; // Lßi! Không thß truy c¿p bi¿n
cÿc bß tÿ bên ngoài hàm
Bi¿n Cÿc Bß (Local)
Bi¿n cÿc bß ±ÿc khai báo bên trong mßt hàm
và chß có thß truy c¿p trong ph¿m vi cÿa hàm
ó. Khi hàm k¿t thúc, bi¿n cÿc bß s¿ bß hÿy và
giá trß cÿa nó không còn ±ÿc l±u trÿ.
$x = 5; // Bi¿n toàn cÿc
function suDungBienToanCuc() {
global $x; // Khai báo sÿ dÿng bi¿n
toàn cÿc
echo $x;// Hißn thß giá trß 5
// Ho¿c sÿ dÿng m¿ng $GLOBALS
echo $GLOBALS['x']; // Cing hißn thß giá
trß 5
}
Bi¿n Toàn Cÿc (Global)
Bi¿n toàn cÿc ±ÿc khai báo bên ngoài t¿t c¿
các hàm và có thß ±ÿc truy c¿p tÿ b¿t kÿ âu
trong t¿p tin PHP. Tuy nhiên, ß sÿ dÿng bi¿n
toàn cÿc bên trong mßt hàm, b¿n c¿n sÿ dÿng
tÿ khóa global ho¿c m¿ng $GLOBALS.
function demSoLanGoi() {
static $dem = 0; // Bi¿n t)nh
$dem++;
echo "Hàm ã ±ÿc gßi $dem l¿n";
}
demSoLanGoi(); // Hißn thß: Hàm ã ±ÿc gßi 1 l¿n
demSoLanGoi(); // Hißn thß: Hàm ã ±ÿc gßi 2 l¿n
Bi¿n T)nh (Static)
Bi¿n t)nh là bi¿n cÿc bß nh±ng không bß hÿy khi hàm k¿t thúc. Giá trß cÿa bi¿n t)nh ±ÿc giÿ l¿i giÿa
các l¿n gßi hàm. ß khai báo bi¿n t)nh, sÿ dÿng tÿ khóa static.
L¿p trình PHP
hvluan.la@gmail.com
3

H¿ng Sß Trong PHP
H¿ng sß là nhÿng giá trß không thß thay ßi sau khi ±ÿc ßnh ngh)a. Khác vßi bi¿n, h¿ng sß giÿ nguyên giá trß
cÿa nó trong sußt thßi gian thÿc thi ch±¡ng trình. H¿ng sß th±ßng ±ÿc sÿ dÿng ß l±u trÿ các giá trß không
ßi nh± c¿u hình hß thßng, các thông sß k¿t nßi c¡ sß dÿ lißu.
define("TEN_HANG", giá_trß);
define("PI", 3.14159);
define("WEBSITE_URL", "https://example.com");
define("MAX_USERS", 1000);
Sÿ dÿng hàm define()
Hàm define() là cách truyßn thßng và linh ho¿t nh¿t
ß ßnh ngh)a h¿ng sß. Hàm này có thß ±ÿc sÿ
dÿng trong mßi ngÿ c¿nh, kß c¿ bên trong các ißu
kißn ho¿c vòng l¿p.
const TEN_HANG = giá_trß;
const PI = 3.14159;
const WEBSITE_URL = "https://example.com";
const MAX_USERS = 1000;
Sÿ dÿng tÿ khóa const
Tÿ khóa const ±ÿc gißi thißu tÿ PHP 5.3 và chß có
thß ±ÿc sÿ dÿng ß c¿p ß toàn cÿc ho¿c trong khai
báo lßp. Không thß sÿ dÿng const bên trong các
hàm, vòng l¿p ho¿c ißu kißn if.
¿c ißm Cÿa H¿ng Sß
Không c¿n ký tÿ $ ÿng tr±ßc tên h¿ng sß
Có thß truy c¿p tÿ b¿t kÿ âu trong mã ngußn mà không c¿n tÿ khóa global
Giá trß không thß thay ßi sau khi ã ßnh ngh)a
Thông th±ßng, tên h¿ng sß ±ÿc vi¿t hoàn toàn b¿ng chÿ hoa ß dß phân bißt vßi bi¿n
Chß có thß chÿa các giá trß vô h±ßng (scalar) nh± sß, chußi, boolean ho¿c NULL
PHP cing cung c¿p mßt sß h¿ng sß ±ÿc ßnh ngh)a s¿n nh± __FILE__, __LINE__, __DIR__,
PHP_VERSION, PHP_OS. Nhÿng h¿ng sß này cung c¿p thông tin vß môi tr±ßng PHP ang ch¿y.
L¿p trình PHP
hvluan.la@gmail.com
4
define("DB_HOST",
"localhost");
define("DB_USER", "root");
H¿ng Sß C¿u Hình
L±u trÿ thông tin c¿u hình hß
thßng nh± URL, thông sß k¿t
nßi.
define("PI", 3.14159);
define("G", 9.8);
H¿ng Sß Toán Hßc
Các giá trß toán hßc không ßi.
define("STATUS_ACTIVE", 1);
define("ERROR_NOT_FOUN
D", 404);
H¿ng Sß Tr¿ng Thái
Bißu thß các tr¿ng thái ho¿c mã
lßi.
define("ROOT_PATH",
__DIR__);
define("UPLOAD_DIR",
"uploads");
H¿ng Sß ±ßng D¿n
L±u trÿ ±ßng d¿n th± mÿc.

Kißu Dÿ Lißu Trong PHP
Là ngôn ngÿ có kißu dÿ lißu ßng, ngh)a là không c¿n ph¿i khai báo kißu dÿ lißu khi t¿o bi¿n.
Kißu Vô H±ßng (Scalar Types)
Integer: Sß nguyên nh± 123, -456
Float/Double: Sß thÿc nh± 3.14, -2.718
Boolean: Giá trß true ho¿c false
String: Chußi ký tÿ nh± "Hello, World!"
Kißu Hÿp Thành (Compound Types)
Array: M¿ng l±u trÿ nhißu giá trß
Object: ßi t±ÿng trong l¿p trình h±ßng ßi
t±ÿng
Kißu ¿c Bißt (Special Types)
NULL: Bißu thß bi¿n không có giá trß
Resource: Tham chi¿u ¿n tài nguyên bên ngoài
Kißu Integer (Sß Nguyên)
Kißu Integer ¿i dißn cho các sß nguyên không có ph¿n th¿p phân. PHP có thß hißn thß sß nguyên trong các
hß c¡ sß khác nhau: th¿p phân (c¡ sß 10), th¿p lÿc phân (c¡ sß 16), bát phân (c¡ sß 8) và nhß phân (c¡ sß 2).
$decimal = 123; // sß th¿p phân
$hexadecimal = 0x1A; // sß th¿p lÿc phân (t±¡ng ±¡ng 26 trong hß th¿p phân)
$octal = 0123; // sß bát phân (t±¡ng ±¡ng 83 trong hß th¿p phân)
$binary = 0b1010; // sß nhß phân (t±¡ng ±¡ng 10 trong hß th¿p phân)
Kißu Float (Sß Thÿc)
Kißu Float (ho¿c Double) bißu dißn các sß có ph¿n th¿p phân ho¿c sß ±ÿc bißu dißn ß d¿ng khoa hßc.
$a = 1.234;
$b = 3e2; // 3 * 10^2 = 300
$c = 4E-2; // 4 * 10^(-2) = 0.04
Kißu Boolean
Boolean ¿i dißn cho mßt trong hai giá trß: TRUE ho¿c FALSE. Trong ngÿ c¿nh cÿa ißu kißn, các giá trß sau
±ÿc xem là FALSE:
Chính giá trß boolean FALSE
Sß nguyên 0
Sß thÿc 0.0
Chußi rßng "" ho¿c chußi "0"
M¿ng rßng
ßi t±ÿng không có thußc tính nào
Giá trß NULL
T¿t c¿ các giá trß khác ±ÿc xem là TRUE.
L¿p trình PHP
hvluan.la@gmail.com
5

