200
1 TRUNG TÂM TIN HỌC ĐẠI HỌC KHOA HỌC TỰ NHIÊN-TP.HCM NHẬP MÔN LẬP TRÌNH WEB VỚI PHP

NHẬP MÔN LẬP TRÌNH WEB VỚI PHP

Embed Size (px)

DESCRIPTION

NHẬP MÔN LẬP TRÌNH WEB VỚI PHP. Bài 2: Ngôn ngữ lập trình PHP. Cấu trúc điều khiển Xử lý lỗi Hàm Các hàm toán học Các hàm chuỗi Các hàm thời gian. Biến Hằng Kiểu dữ liệu Các toán tử Tham chiếu Các hàm kiểm tra giá trị của biến. 1. Biến. Khái niệm Khai báo và gán giá trị cho biến - PowerPoint PPT Presentation

Citation preview

Slide 1NHP MÔN LP TRÌNH WEB VI PHP
TRUNG TÂM TIN HC
Bài 2: Ngôn ng lp trình PHP
Bin
Hng
Cu trúc iu khin
1. Bin
Khái nim
Phm vi hot ng ca bin
Bài 2: Ngôn ng lp trình PHP
Khái nim
Khái nim
Bin là mt ô nh trong b nh chính giúp biu din thông tin thc t trong chng trình.
Ô nh
Ví d
Vi mt s nguyên n=8 => trong chng trình có bin nguyên n có giá tr bng 8
Bài 2: Ngôn ng lp trình PHP
Khai báo và gán giá tr cho bin
Khai báo bin
Cú pháp: $tên_bin
Ví d: $tong
Quy tc t tên cho bin
Tên bin phi bt u bng ký t $, theo sau là 1 ký t hoc du _, tip ó là ký t, ký s hoc du _
Nên khi to giá tr ban u cho bin
Tên bin không trùng vi tên hàm
Bin không nên bt u bng ký s
Bài 2: Ngôn ng lp trình PHP
Khai báo và gán giá tr cho bin
Lu ý
Tên bin có phân bit ch HOA – ch thng
Ví d: bin $a và bin $A là hai bin khác nhau
Bài 2: Ngôn ng lp trình PHP
Khai báo và gán giá tr cho bin
Gán giá tr cho bin
Gán giá tr trc tip
Cú pháp: $tên_bin = <giá_tr>;
Khai báo và gán giá tr cho bin
Gán giá tr cho bin (tt)
Gán giá tr ca bin khác cho bin
Cú pháp: $tên_bin = $tên_bin_mun_ly_giá_tr;
Phm vi hot ng ca bin
Bin cc b
Bin toàn cc
Phm vi hot ng ca bin
Bin cc b
Bin c khai báo trong hàm => bin cc b
Khi ra khi hàm => bin cc b và giá tr ca nó s b hy b
Lu ý: khi có cùng tên thì bin bên trong hàm và bin bên ngoài hàm là hai bin hoàn toàn khác nhau
Bài 2: Ngôn ng lp trình PHP
Phm vi hot ng ca bin
Bin cc b
}
Phm vi hot ng ca bin
Bin toàn cc
Có th truy xut bt c ni nào trong trang
Khi mun s dng và cp nht bin toàn cc trong hàm thì phi dùng t khóa global phía trc bin hoc dùng $_GLOBALS[“tên_bin”]
Bài 2: Ngôn ng lp trình PHP
Phm vi hot ng ca bin
Bin toàn cc
<?php
Phm vi hot ng ca bin
Bin toàn cc
<?php
Phm vi hot ng ca bin
Bin static
Không mt i giá tr khi ra khi hàm
S gi nguyên giá tr trc ó khi hàm c gi mt ln na
Phía trc tên bin static phi có t khóa static
Bài 2: Ngôn ng lp trình PHP
Phm vi hot ng ca bin
Bin static
Ví d:
2. Hng
Khai báo
S dng
Khai báo
Khái nim: Hng là mt giá tr không th chnh sa c trong quá trình thc hin chng trình.
Quy tc t tên hng cng ging nh quy tc t tên bin.
Dùng hàm define() nh ngha. Mt khi hng c nh ngha, nó không b thay i.
Ch có các kiu d liu boolean, integer, float, string mi có th cha các hng.
Bài 2: Ngôn ng lp trình PHP
Khai báo
Cú pháp: define(“TÊN_HNG”, giá_tr);
Ví d: khai báo hng s PI có giá tr là 3.14
<?php
S dng
Dùng tên hng mi khi mun s dng
Ví d: tính din tích và chu vi hình tròn vi bán kính r=10
<?php
?>
Ni dung
Cu trúc iu khin
3. Kiu d liu
Bài 2: Ngôn ng lp trình PHP
Kiu d liu – mô t
Boolean: ch có mt trong hai giá tr là TRUE và FALSE
Ví d:
Kiu d liu – mô t
Integer: Kiu s nguyên.
Giá tr có th là s trong h thp phân, thp lc phân và bát phân.
Ví d:
$b = -123; // s âm h thp phân
$c = 0123; // h bát phân (bt u bng 0 theo sau là các ký s)
?>
Kiu d liu – mô t
Float / double: Kiu d liu s thc.
Ví d:
?>
Kiu d liu – mô t
String: Kiu d liu chui, ký t. Trong ó, mi ký t chim 1 byte.
Mi chui có th cha mt hay nhiu ký t thuc 256 ký t khác nhau.
Chui không có gii hn v kích thc.
Ví d:
echo “$chuoi 2008”;  → “Chúc mng nm mi 2008”
?>
Kiu d liu – mô t
Array: Kiu d liu mng các phn t
Ví d:
$array = array(1, 2, 3, 4, 5);
print_r($array);
Kiu d liu – mô t
Object: Kiu d liu là i tng ca mt lp
Ví d:
?>
Chuyn i kiu d liu
Trong quá trình tính toán, kiu d liu c ca bin có th không còn phù hp na (kt qu tính toán vt khi phm vi ca kiu d liu c) => chuyn i kiu d liu
Cách thc hin: ghi tên kiu d liu mà bin mun chuyn i vào phía trc bin
Ví d:
4. Các toán t
Toán t s hc
Toán t ni chui
Toán t so sánh
Toán t lun lý
Toán t s hc
Ví d:
Toán t s hc
Ví d:
Toán t s hc
Ví d:
Toán t s hc
Ví d:
Toán t s hc
Ví d:
Toán t s hc
Lu ý:
Khi có nhiu biu thc tính toán thì nên a chúng vào cp ngoc () vic tính toán c tng minh.
Ví d:
?>
Toán t ni chui
S dng toán t “.” ni các chui li vi nhau
Ví d:
?>
Kt qu khi s dng toán t ni chui có kiu là kiu chui
Bài 2: Ngôn ng lp trình PHP
Toán t gán kt hp
Toán t +=
Ví d:
Toán t gán kt hp
Toán t ++
Ví d:
Toán t gán kt hp
Toán t -=
Ví d:
Toán t gán kt hp
Toán t --
Ví d:
Toán t gán kt hp
Toán t *=
Ví d:
Toán t gán kt hp
Toán t /=
Ví d:
Toán t gán kt hp
Toán t %=
Ví d:
Toán t gán kt hp
Toán t .=
Ví d:
Toán t so sánh
Ví d:
Toán t so sánh
Toán t ===
Thc hin phép so sánh bng vi các i tng có cùng kiu d liu
Ví d:
?>
Toán t so sánh
Ví d:
Toán t so sánh
Toán t >, >=
Thc hin phép so sánh ln hn, ln hn hoc bng
Ví d:
?>
Toán t so sánh
Toán t <, <=
Thc hin phép so sánh nh hn, nh hn hoc bng
Ví d:
?>
Toán t lun lý
else
?>
Toán t lun lý
Toán t And, &&
Ý ngha: úng nu c hai biu thc có giá tr úng
Ví d:
?>
Toán t lun lý
Toán t Or, ||
Ý ngha: úng khi mt trong hai biu thc có giá tr TRUE, hoc c hai cùng có giá tr TRUE
Ví d:
?>
5. Tham chiu
Khái nim
Trong PHP tham chiu có ngha là ly cùng mt giá tr bng nhiu tên bin khác nhau.
Ký hiu tham chiu: &
Bài 2: Ngôn ng lp trình PHP
Cách thc làm vic ca tham chiu
Tham chiu trong PHP cho phép to ra hai hay nhiu bin có cùng mt ni dung.
Ví d:
6. Các hàm kim tra giá tr ca bin
Kim tra tn ti isset()
Kim tra giá tr rng empty()
Kim tra tr kiu s is_numeric()
Kim tra kiu d liu ca bin
Xác nh kiu ca bin gettype()
Bài 2: Ngôn ng lp trình PHP
Kim tra tn ti: isset()
Ý ngha: dùng kim tra bin có giá tr hay không
Cú pháp: isset(<tên bin 1>, <tên bin 2>, …)
Kt qu tr v:
TRUE: nu tt c các bin u có giá tr
FALSE: nu mt bin bt k không có giá tr
Bài 2: Ngôn ng lp trình PHP
Kim tra tn ti: isset()
Ví d:
else
?>
Kim tra giá tr rng: empty()
Ý ngha: dùng kim tra bin có giá tr rng hay không
Cú pháp: empty(<tên bin>)
Kt qu tr v:
FALSE: nu mt bin có giá tr khác rng
Các giá tr c xem là rng:
“” (chui rng), NULL
0 (khi kiu là integer), FALSE, array()
var $var (bin trong lp c khai báo nhng không có giá tr)
Bài 2: Ngôn ng lp trình PHP
Kim tra giá tr rng: empty()
Ví d:
exit;
?>
Kim tra tr kiu s: is_numeric()
Ý ngha: dùng kim tra bin có giá tr kiu s hay không
Cú pháp: is_numeric(<tên bin>)
Kt qu tr v:
FALSE: nu bin có giá tr không phi kiu s
Bài 2: Ngôn ng lp trình PHP
Kim tra tr kiu s: is_numeric()
Ví d:
?>
is_int() / is_long()
is_string()
is_double()
Ý ngha: kim tra giá tr ca bin có phi là kiu integer - long – string – double hay không
Cú pháp chung: tên_hàm(<tên_bin>)
Bài 2: Ngôn ng lp trình PHP
Kim tra kiu d liu ca bin
Ví d:
Xác nh kiu ca bin: gettype()
Ý ngha; kim tra bin hoc giá tr có kiu d liu nào: integer, string, double, array, object, class, …
Cú pháp: gettype(<tên bin> hoc <giá tr>)
Kt qu tr v: kiu ca giá tr hay kiu ca bin
Bài 2: Ngôn ng lp trình PHP
Kim tra kiu d liu ca bin
Ví d:
7. Cu trúc iu khin
Cu trúc r nhánh
Cu trúc chn la
Bài 2: Ngôn ng lp trình PHP
Cu trúc r nhánh if
Dng 1: if
thc hin khi lnh
iu kin là mt biu thc logic tr v úng (TRUE) hoc sai (FALSE)
Bài 2: Ngôn ng lp trình PHP
Cu trúc r nhánh if
Dng 1: if
<?php
Cu trúc r nhánh if
Dng 2: if … else
Cu trúc r nhánh if
Dng 2: if … else
Ngc li thì
thc hin khi lnh 2
iu kin là mt biu thc logic tr v úng (TRUE) hoc sai (FALSE)
Cu trúc if có th lng nhau
Bài 2: Ngôn ng lp trình PHP
Cu trúc r nhánh if
Dng 2: if … else
<?php
Toán t ?:
Cú pháp:
(iu kin)?<kt qu khi iu kin úng>:<kt qu khi iu kin sai>
Ý ngha: dùng thay th cho cu trúc iu khin if…else vi mt câu lnh bên trong
Có th lng nhiu toán t ?: vi nhau
Bài 2: Ngôn ng lp trình PHP
Toán t ?:
<?php
$a = $_POST[“a”];
$b=$_POST[“b”];
$c = ($a>$b)?$a:$b;
?>
Toán t ?:
<?php
Cu trúc r nhánh if
Dng 3: if … elseif … else
Cú pháp:
}
Cu trúc r nhánh if
Dng 3: if … elseif … else
Ý ngha:
thc hin khi lnh 1
Ngc nu iu kin 2 úng thì
thc hin khi lnh 2

Ngc li thì
thc hin khi lnh khi không tha các iu kin trên
iu kin là mt biu thc logic tr v úng (TRUE) hoc sai (FALSE)
Bài 2: Ngôn ng lp trình PHP
Cu trúc r nhánh if
Dng 1: if … elseif … else
Ví d: Tính thành tin cho mt hàng hóa: khi s lng nh hn 10 n v thì không gim giá, t 10->20 n v thì gim 5%, trên 20 n v thì gim 10%
<?php
$thanh_tien = ($so_luong * $don_gia) * 0.95;
Cu trúc chn la switch
Cu trúc switch cng tng t nh cu trúc if trong trng hp có nhiu iu kin
Nhng trng hp khác nhau có nhng cách x lý khác nhau => dùng switch
Bài 2: Ngôn ng lp trình PHP
Cu trúc chn la switch
Dng 1: mi trung hp mt cách x lý khác nhau
Cú pháp
...
}
Cu trúc chn la switch
Dng 1: mi trung hp mt cách x lý khác nhau
Ý ngha
trung hp bin iu kin = giá tr 1
thì thc hin khi lnh 1
trung hp bin iu kin = giá tr 2
thì thc hin khi lnh 2

[mc nh
thì thc hin khi lnh khi không tha tt c các trung hp trên]
Bài 2: Ngôn ng lp trình PHP
Cu trúc chn la switch
Dng 1: mi trung hp mt cách x lý khác nhau
Ví d: i mt s bt k t 0-9 thành ch
<?php
}
?>
Cu trúc chn la switch
Dng 2: mi nhóm các trung hp có cùng mt cách x lý
Cú pháp
...
}
Cu trúc chn la switch
Dng 2: mi nhóm các t/hp có cùng mt cách x lý
Ý ngha
trung hp bin iu kin = giá tr 1
hoc bin iu kin = giá tr 2
hoc …

[mc nh
thì thc hin khi lnh khi không tha tt c các trung hp trên]
Bài 2: Ngôn ng lp trình PHP
Cu trúc chn la switch
Dng 2: mi nhóm các t/hp có cùng mt cách x lý
Ví d: In câu chúc theo th trong tun
<?php
switch($thu)
break;
break;
Cu trúc chn la switch
So sánh vi cách vit dùng if
Ví d: In câu chúc theo th trong tun
<?php
if ($thu==“Th hai” || $thu==“Th ba” || $thu==“Th t” || $thu==“Th nm” || $thu==“Th sáu”)
echo “Chúc mt ngày làm vic tt!”;
elseif ($thu==“Th by” || $thu==“Ch nht”)
echo “Cui tun vui v”;
?>
Cu trúc lp
Cu trúc lp cho phép thc hin nhiu ln mt khi lnh ca chng trình khi tha iu kin
Gm có các cu trúc: for, foreach, while, do…while
Bài 2: Ngôn ng lp trình PHP
Cu trúc lp for
Công dng:
for c s dng khi chúng ta bit trc s ln cn lp, bin m chy trong khong gii hn ca vòng lp, và giá tr lp.
Cú pháp:
{
Cu trúc lp for
Ý ngha:
Khi lnh ch c thc hin khi bin m vn còn nm trong khong gii hn ca vòng lp.
Vòng lp s kt thúc khi bin m vt qua khong gii hn ca vòng lp
Cn ch nh giá tr lp ca bin m. Sau mi ln lp bin m s tng lên (hoc gim i)
Bài 2: Ngôn ng lp trình PHP
Cu trúc lp for
Ví d 1: tính tng các s t 1 n 10
<?php
Cu trúc lp for
Ví d 2: tính tng các s l t 1 n 10
<?php
{
Cu trúc lp foreach
Cú pháp duyt giá tr các phn t trong mng:
foreach ($ten_mang as $gia_tri)
}
Cú pháp duyt c khóa và giá tr các phn t trong mng:
foreach ($ten_mang as $tu_khoa => $gia_tri)
{
Cu trúc lp foreach
Ý ngha:
Cu trúc này s duyt t phn t u tiên n phn t cui cùng ca tp hp (mng) thc hin các x lý tng ng
Bài 2: Ngôn ng lp trình PHP
Cu trúc lp foreach
Ví d 1: duyt và in ni dung ca các phn t trong mng
<?php
foreach($mang_ten as $ten)
Cu trúc lp foreach
Ví d 2: duyt và in ni dung ca khóa và giá tr ca các phn t trong mng
<?php
foreach ($a as $tu_khoa => $gia_tri)
{
}
?>
→ a[one] => 1 a[two] => 2 a[three] => 3 a[four] => 4
Bài 2: Ngôn ng lp trình PHP
Cu trúc lp while
Công dng
Thc hin lp i lp li mt công vic nào ó khi tha iu kin.
while uc s dng khi không xác nh c s ln lp (s ln lp ph thuc vào iu kin ti thi im thc thi)
Cú pháp
while(iu kin)
Cu trúc lp while
Ý ngha
iu kin là mt biu thc logic (có kt qu TRUE hoc FALSE)
Sau mi ln thc hin khi lnh trong while, iu kin s c kim tra li.
Nu giá tr True thì thc hin li vòng lp
Nu giá tr False thì chm dt vòng lp
Cu trúc này kim tra iu kin trc khi thc hin các lnh nên s không thc hin ln nào nu ngay ln u tiên iu kin có giá tr False.
Bài 2: Ngôn ng lp trình PHP
Cu trúc lp while
Ví d 1: tính tng các s nguyên dng <10
<?php
Cu trúc lp while
Ví d 2: tìm s nguyên ln nht trong khong t 1-100 chia ht cho n (0<n<=100)
<?php
Cu trúc lp do … while
Công dng
Thc hin lp i lp li mt công vic nào ó khi tha iu kin.
do… while: vic kim tra iu kin s c thc hin sau khi thc hin khi lnh do { …}
Cú pháp
Cu trúc lp do … while
Ý ngha
iu kin là mt biu thc logic (có kt qu TRUE hoc FALSE)
Sau mi ln thc hin khi lnh trong do … while, iu kin s c kim tra li.
Nu giá tr True thì thc hin li vòng lp
Nu giá tr False thì chm dt vòng lp
Do iu kin c kim tra sau khi thc hin khi lnh nên nu ngay ln u iu kin có giá tr FALSE thì khi lnh cng c thc hin mt ln.
Bài 2: Ngôn ng lp trình PHP
Cu trúc lp do … while
Ví d 1: tính tng các s nguyên dng <10
<?php
Cu trúc lp do … while
Ví d 2:
$so++;
?>
S dng break và continue trong cu trúc lp
break
Công dng: thoát khi cu trúc iu khin da trên kt qu ca biu thc lun lý kèm theo (iu kin kim tra)
Bài 2: Ngôn ng lp trình PHP
S dng break và continue trong cu trúc lp
break
<?php
{ if($so%$i==0)
S dng break và continue trong cu trúc lp
continue
Công dng: Khi gp continue, các lnh bên di continue tm thi không thc hin tip, khi ó con tr s nhy v u vòng lp kim tra giá tr ca biu thc iu kin còn úng hay không.
continue thng i kèm vi mt biu thc lun lý.
Bài 2: Ngôn ng lp trình PHP
S dng break và continue trong cu trúc lp
continue
Ví d: Tính tng các s l t n 10
<?php
9. Hàm
Hàm th vin
Là các hàm c PHP xây dng sn, ch cn gi khi s dng
Có rt nhiu nhóm hàm trong th vin: nhóm hàm chui, toán hc, thi gian, lch, mng, th mc, tp tin, mail, CSDL, …
Cách dùng: vit úng tên hàm và truyn vào các giá tr cn thit.
Bài 2: Ngôn ng lp trình PHP
Hàm th vin
Ví d: dùng hàm round() làm tròn mt s, hàm date() ly ngày hin ti có nh dng ngày tháng nm
<?php
Cách khai báo:
return giá_tr;
Trong ó
Tên hàm: c s dng khi gi hàm, tên hàm nên có ý ngha gi nh
Danh sách các tham s: dùng truyn d liu bên ngoài vào, hàm có th có hoc không có tham s
Giá tr: là kt qu tr v ca hàm. Hàm có th có hoc không có giá tr tr v
Bài 2: Ngôn ng lp trình PHP
Hàm do ngi dùng t nh ngha
Ví d: xây dng hàm xut câu chào
<?php
}
?>
S dng:
Tên_hàm(Danh_sách_các_giá_tr)
Tên hàm gi s dng phi ging tên hàm ã xây dng
Danh sách các giá tr: cung cp các thông tin cho tham s ca hàm. Vi:
S lng các giá tr bng s lng các tham s ca hàm
Th t tng ng theo th t các tham s
Kiu d liu ca giá tr phi tng ng vi kiu ca tham s
Nu hàm không có giá tr truyn vào thì phía sau tên hàm cng phi có cp ()
Bài 2: Ngôn ng lp trình PHP
Hàm do ngi dùng t nh ngha
Ví d: gi hàm xut câu chào
<?php
xuat_cau_chao();
Bài 2: Ngôn ng lp trình PHP
Hàm do ngi dùng t nh ngha
Ví d: xây dng hàm tính tng hai s a và b vi hai tham s là a, b. Hàm có kt qu tr v là tng ca a và b.
<?php
Ví d: gi hàm tính tng
<?php
?>
Phân loi tham s ca hàm: có hai loi
Tham tr: truyn tham s theo giá tr
Tham bin: truyn tham s theo a ch
Bài 2: Ngôn ng lp trình PHP
Hàm do ngi dùng t nh ngha
Tham tr
Tham s truyn giá tr t bên ngoài vào cho hàm.
Khi thay i giá tr ca tham tr bên trong hàm thì giá tr ca nó ngoài hàm vn không b thay i.
Bài 2: Ngôn ng lp trình PHP
Hàm do ngi dùng t nh ngha
Tham tr
Ví d:
return $chuoi;
$chuoi_goc= "ây là chui gc, ";
echo them_vao_chuoi($chuoi_goc); → "ây là chui gc, và chui sau khi thêm."
echo $chuoi_goc ; → "ây là chui gc,  "
?>
Tham bin:
Tham s truyn giá tr t bên ngoài cho hàm và tr giá tr trong hàm ra bên ngoài.
Khi thay i giá tr ca tham bin bên trong hàm thì giá tr ca nó ngoài hàm cng s thay i sau khi chúng ta gi hàm ã xây dng.
i vi tham bin chúng ta s s dng cú pháp vi ký t & phía trc.
Bài 2: Ngôn ng lp trình PHP
Hàm do ngi dùng t nh ngha
Tham bin:
Cú pháp:
Tham bin:
Ví d:
return $chuoi;
$chuoi_goc= "ây là chui gc, ";
?>
Tham s tùy chn
Là nhng tham s có th c truyn giá tr hoc không
Cho phép to sn các giá tr mc nh cho tham s
Nhng tham s này ch xut hin cui danh sách các tham s
Bài 2: Ngôn ng lp trình PHP
Hàm do ngi dùng t nh ngha
Tham s tùy chn:
{
return giá_tr;
Tham s tùy chn:
}
echo so_thich(); →“Tôi thích ung cà phê.”
?>
8. X lý li
Dùng try…catch dò và sa li
Bài 2: Ngôn ng lp trình PHP
Phân loi li
Xut hin khi ta vit code.
c thông báo khi ta thc thi trang.
Nguyên nhân: vit sai hoc thiu cú pháp.
Li thc thi
Xy ra khi ta thc thi trang.
Khó xác nh hn li cú pháp.
Nguyên nhân: M mt tp tin ang tn ti, chia cho 0, truy xut bng không tn ti trong CSDL, …
Bài 2: Ngôn ng lp trình PHP
Phân loi li
Li lun lý
Xy ra khi ta thc thi trang
c th hin di nhng hình thc hoc nhng kt qu không mong i.
Nguyên nhân: sai lm trong thut gii.
Bài 2: Ngôn ng lp trình PHP
Dò và sa li th công
Khi có li phát sinh thì trang thc thi s t ng thông báo li
Cách sa li:
Xem thông báo li và dòng xy ra li
M code và sa li ti dòng ó (hoc dòng lân cn)
Bài 2: Ngôn ng lp trình PHP
Dùng try…catch dò và sa li
Try … catch: cho phép th thc hin mt khi lnh xem có b li hay không, nu có s by và x lý li.
Cu trúc try … catch có hai khi:
Khi try: các câu lnh có kh nng gây ra li
Khi catch: các câu lnh by và x lý li phát sinh trên khi try.
Mt li xy ra khi thc thi trang gi là mt Exception.
Nu dòng nào trong khi lnh có kh nng to ra li thì gi tr v li ó.
Bài 2: Ngôn ng lp trình PHP
Dùng try…catch dò và sa li
Trong PHP li s không t ng tr v => gi li ó bng cú pháp sau:
throw new Exception(“Câu thông báo li”, code);
Vi câu thông báo li và mã li (code) u là các tham s tùy chn
Bài 2: Ngôn ng lp trình PHP
Dùng try…catch dò và sa li
Cú pháp
- các li
}
}
Dùng try…catch dò và sa li
Lu ý:
Mt khi try có th dùng mt hay nhiu khi catch
Mi khi catch hin th mt loi li khác nhau
Bài 2: Ngôn ng lp trình PHP
10. Các hàm toán hc
Giá tr tuyt i
Giá tr tuyt i abs()
Kt qu tr v là giá tr tuyt i ca mt s
Cú pháp:
Giá tr tuyt i abs()
Ví d
?>
Pi
pi()
Kt qu tr v là hng s PI trong toán hc
Cú pháp:
Ly tha
pow()
Kt qu tr v là phép tính ly tha ca mt s theo mt s m ch nh
Cú pháp:
pow(s, ly_tha)
Ly tha
Ví d
Phát sinh ngu nhiên
rand()
Kt qu tr v là mt giá tr s nguyên ngu nhiên bt k (nm trong khong t 0 n 32768)
Khi hàm rand() có hai tham s là giá tr nh nht (min) và giá tr ln nht (max) thì giá tr tr v s là mt giá tr s nm trong khong t giá tr nh nht n giá tr ln nht.
Cú pháp:
Phát sinh ngu nhiên
Làm tròn
round()
Kt qu tr v là mt s ã c làm tròn.
Nu ch có mt tham s là s c truyn vào thì kt qu tr v là mt s nguyên.
Nu có c hai tham s là s và v trí làm tròn thì kt qu tr v là mt s c làm tròn da trên v trí làm tròn.
Cú pháp:
round (s [, v trí làm tròn])
V trí làm tròn là mt s nguyên âm hoc nguyên dng dùng ch nh v trí mun làm tròn, c tính t v trí du chm thp phân
Bài 2: Ngôn ng lp trình PHP
Làm tròn
Ví d
Tính cn
Tính cn bc hai ca mt s dng bt k
Kt qu tr v là cn bc hai ca s
Cú pháp:
Tính cn
Ví d
11. Các hàm chui
Bài 2: Ngôn ng lp trình PHP
nh dng chui - B ký t tha
ltrim()
Loi b các ký t tha bên trái chui.
Kt qu tr v là mt chui không có ký t tha bên trái chui.
Cú pháp:
ltrim(str [, charlist])
Tham s bt buc là chui str
Tham s tùy chn là danh sách các ký t mun loi b bên trái chui.
Bài 2: Ngôn ng lp trình PHP
nh dng chui - B ký t tha
Ví d
echo ltrim($text);
rtrim(), chop()
Loi b các ký t tha bên phi chui.
Kt qu tr v là mt chui không có ký t tha bên phi chui.
Cú pháp:
rtrim(str [, charlist])
chop(str [, charlist])
Ví d
echo rtrim($text);
echo chop($text, “\t.”);
trim()
Loi b các ký t tha bên phi và bên trái chui.
Kt qu tr v là mt chui không có ký t tha bên phi và bên trái chui.
Cú pháp:
trim(str [, charlist])
Ví d
echo trim($text);
Bài 2: Ngôn ng lp trình PHP
nh dng chui - B ký t tha
Lu ý: nu không có tham s th hai thì hàm ltrim(), rtrim(), chop() s t ng loi b các ký t sau:
" " (ASCII 32 (0x20)), ký t khong trng.
"\t" (ASCII 9 (0x09)), ký t tab.
"\n" (ASCII 10 (0x0A)), ký t v u dòng mi.
"\r" (ASCII 13 (0x0D)), ký t xung dòng.
"\0" (ASCII 0 (0x00)), byte NULL.
"\x0B" (ASCII 11 (0x0B)), tab dc.
Ngoài ra, có th lit kê các ký t mun loi b charlist
Bài 2: Ngôn ng lp trình PHP
nh dng chui – Xung dòng
nl2br()
Khi trình bày d liu trên trang Web, cn phi nh dng li nhng ký t “\n” trong c s d liu thành th “<br>” trình bày xung hàng trên trình duyt Web
Cú pháp:
nh dng chui – Xung dòng
Ví d
→ “Xin chào các bn <br>”
?>
ucfirst(): vit hoa ký t u tiên ca chui
ucwords(): vit hoa ký t u tiên ca mi t
Cú pháp
Ví d
→ “HAPPY NEW YEAR”
→ “happy new year”
→ “Happy new year”
→ “Happy New Year”
nh dng chui – Chiu dài chui
strlen()
Kt qu tr v là chiu dài ca mt chui
Cú pháp
nh dng chui – m ký t
count_chars()
Kt qu tr v là mt mng vi các phn t có khóa là mã ASCII và giá tr là s ln xut hin ca các ký t trong chui.
Th t ca các khóa c sp tng dn theo bng mã ASCII
Cú pháp
count_chars(str [, mode])
nh dng chui – m ký t
Mode: là kiu m (tham s tùy chn)
Mode = 0 (hoc không s dng mode): lit kê tt c các ký t ASCII t 0 n 255 và s ln xut hin.
Mode = 1 : ch lit kê danh sách có s ln xut hin ln hn 0
Mode = 2: ch lit kê danh sách có s ln xut hin bng 0
Mode = 3: chui mi mà mi ký t trong chui gc ch xut hin chui mi 1 ln theo th t tng dn ca bng mã ASCII.
Mode = 4: tr v mt chui mi vi các ký t theo th t tng dn theo bng mã ASCII, mà các ký t này không xut hin chui gc.
Bài 2: Ngôn ng lp trình PHP
nh dng chui – m ký t
Ví d: mode = 1
)
?>
nh dng chui – m ký t
Ví d: mode = 3
So sánh chui – Có phân bit HOA - thng
strcmp()
So sánh hai chui có phân bit ch HOA, ch thng.
Kt qu tr v:
<0: nu chui str1 nh hn chui str2
>0: nu chui str1 ln hn chui str2
Cú pháp
strcmp(str1, str2 )
Lu ý: Vic so sánh chui da trên bng mã ASCII ca các ký t
Bài 2: Ngôn ng lp trình PHP
So sánh chui – Có phân bit HOA - thng
Ví d:
echo strcmp(“hello”, “Hello”);
→ 1 (chui th nht ln hn chui th hai) vì trong bng mã ASCII ký t ’h’ có giá tr là 101 ln hn ký t ’H’ có giá tr là 72, các ký t còn li trong chui u ging nhau
echo strcmp(“Hôm nay”, “Th t”); → -1
?>
So sánh chui – Không phân bit HOA - thng
strcasecmp(), strnatcmp()
So sánh hai chui không phân bit ch HOA, ch thng.
Kt qu tr v:
<0: nu chui str1 nh hn chui str2
>0: nu chui str1 ln hn chui str2
Cú pháp
strcasecmp(str1, str2)
strnatcmp(str1, str2)
So sánh chui – Không phân bit HOA - thng
Ví d:
?>
Tìm kim và thay th - Tìm mt chui trong chui
strstr(), strchr()
Tìm mt chui trong chui.
Kt qu tr v là mt chui con ca chui str1 c ly t v trí xut hin u tiên ca chui str2 n ht chui str1 nu tìm thy chui str2 trong chui str1, nu không tìm thy chui str2 trong chui str1 thì tr v FALSE.
Cú pháp
strstr(str1, str2)
strchr(str1, str2)
Tìm kim và thay th - Tìm mt chui trong chui
Ví d:
Bài 2: Ngôn ng lp trình PHP
Tìm kim và thay th - Tìm v trí ca chui con
strpos()
Kt qu tr v là v trí tìm thy ca chui str2 trong chui str1, nu trong chui str1 có nhiu chui str2 thì kt qu tr v s là v trí u tiên mà chui str2 xut hin trong chui str1. Nu không tìm thy chui str2 trong chui str1 thì kt qu tr v là FALSE
Cú pháp
strpos(str1, str2)
Lu ý: kim tra kt qu thì phi dùng toán t === thay cho toán t ==
Bài 2: Ngôn ng lp trình PHP
Tìm kim và thay th - Tìm v trí ca chui con
Ví d:
?>
Tìm kim và thay th
str_replace()
Tìm kim chui str1 trong chui str, nu tìm thy thì thay th chui str1 bng chui str2 trong chui str.
Cú pháp
Tìm kim và thay th
Ví d
→ “Hôm qua bé n trng”
?>
explode()
Tách chui str thành nhiu chui con bng cách ch nh chui tách separator và gán tng chui con này vào các phn t ca mng
Cú pháp
explode(separator, str)
Ví d
Kt hp và tách chui – Kt hp chui
implode()
Kt hp các phn t ca mng thành mt chui và các phn t khi ráp thành chui s cách nhau bng ch nh cách separator
Cú pháp
implode(separator, array)
Kt hp và tách chui – Kt hp chui
Ví d
$chuoi = implode(“ ”, $mang_chuoi);
?>
i ký t
chr()
Hàm chr() có tham s truyn vào là mt s trong bng mã ASCII và có kt qu tr v là mt ký t tng ng vi s ó.
Bng mã ASCII quy nh mi ký t s có mt s tng ng. Phm vi các s t 0 n 255.
Cú pháp
i ký t
12. Các hàm thi gian
Kim tra ngày hp l
nh dng ngày
Ly thi gian hin ti
Chuyn i ngày
i thi gian sang n v giây
nh dng thi gian thành s nguyên
Bài 2: Ngôn ng lp trình PHP
Kim tra ngày hp l
checkdate()
Kim tra ngày vi tháng, ngày, nm c truyn vào, nu ngày hp l thì kt qu tr v là TRUE, ngc li tr v FALSE
Cú pháp:
Kim tra ngày hp l
Ví d:
nh dng ngày
date()
Kt qu tr v là ngày hin ti sau khi ã c nh dng
Cú pháp:
nh dng ngày
Ly các giá tr ca ngày hin ti
getdate()
Kt qu tr v là mt mng gm 10 phn t (có khóa dng chui) cha các thông tin cn thit ca ngày hin ti.
[seconds] – giây, [minutes] - phút, [hours] – gi
[mday] – ngày trong tháng, [wday] – ngày trong tun
[mon] – tháng (dng s), [year] – nm, [yday] – ngày trong nm
[weekday] – th trong tun, [month] – tháng (dng ch)
Bài 2: Ngôn ng lp trình PHP
Ly các giá tr ca ngày hin ti
Cú pháp:
[mday] => 28 [wday] => 3 [mon] => 11 [year] => 2007
[yday] => 331 [weekday] => Wednesday
Ly các giá tr ca ngày hin ti
localtime()
Kt qu tr v là mt mng (có khóa dng s) trong ó mi phn t ca mng là mt thành phn ca ngày hin ti (gi, phút, giây, ngày, …). Th t các phn t nh sau:
[0] - giây, [1] – phút, [2] - gi, [3] - ngày trong tháng
[4] - tháng trong nm (vi 0 là tháng 1 – January)
[5] - Nm bt u t nm 1900, [6] - Ngày trong tun
[7] - ngày trong nm, [8] - 0 – nu là ngày và 1 – nu là êm
Lu ý: tháng bt u t 0 (tháng 1) n 11 (tháng 12) và ngày trong tun bt u t 0 (Ch nht) n 6 (Th by)
Bài 2: Ngôn ng lp trình PHP
Ly các giá tr ca ngày hin ti
Cú pháp:
)
Ly thi gian hin ti
time()
Kt qu tr v là thi gian hin ti c o lng theo giá tr giây (tính t 1/1/1970 00:00:00 GMT)
Cú pháp:
Ly thi gian hin ti
Ví d
// 7 days; 24 hours; 60 mins; 60secs
echo ”Hin ti:”. date(”Y-m-d”) ."<br>";
→ Hin ti: 2007-11-28
→ Tun sau: 2007-12-05
Chuyn i ngày
cal_to_ jd()
Chuyn i mt ngày sang giá tr m s ngày Julian (s dng khá nhiu khi làm vic vi các nh dng lch khác nhau).
Chun ca nó da trên vic m ngày Julian (m ngày theo Julian là m s ngày t ngày bt u January 1, 4713 B.C n ngày c a vào m).
S dng m s ngày Julian da trên ngày ca mt h thng lch c chn.
S ngày = ngày c truyn vào trong hàm cal_to_jd - January 1, 4713 B.C (January 1, 4713 B.C là ngày bt u)
Bài 2: Ngôn ng lp trình PHP
Chuyn i ngày
CAL_GREGORIAN (lch châu Âu – thng dùng)
CAL_JULIAN (lch Julian)
Chuyn i ngày
?>
Chuyn chui thi gian thành giá tr thi gian
strtotime()
Kt qu tr v là tng s giây ca thi gian nu chui thi gian úng, ngc li s tr v FALSE
Tng s giây = thi gian c truyn vào trong hàm strtotime() - January 1 1970 00:00:00 (vì thi gian bt u c tính t: January 1 1970 00:00:00)
Cú pháp:
Chuyn chui thi gian thành giá tr thi gian
Ví d
mktime()
Kt qu tr v là tng s giây ca thi gian nu các tham s thi gian c truyn vào phù hp, ngc li s tr v FALSE
Tng s giây = thi gian c truyn vào trong hàm mktime() - January 1 1970 00:00:00 (vì thi gian bt u là: January 1 1970 00:00:00)
Cú pháp:
Bài 2: Ngôn ng lp trình PHP
i thi gian sang n v giây
Ví d
→ 883.587.600
→ Jan-01-1998
→ Jan-01-1998
idate()
Kt qu tr v là thi gian hin ti có kiu s nguyên cn c vào ký t nh dng
Cú pháp:
Các ký t nh dng:
d - ngày trong tháng, h - gi (nh dng 12 gi), H - gi (nh dng 24 gi), i – phút, L - tr v 1 nu là nm nhun, ngc li tr v 0, m – tháng, s – giây, w - th trong tun (ch nht (Sunday) =0), y - nm (1 hoc 2 ký s), Y - nm (4 ký s), z - ngày trong nm, …
Bài 2: Ngôn ng lp trình PHP
nh dng thi gian thành s nguyên
Ví d
echo idate(‘Y’);
?>