Professional Documents
Culture Documents
net)
Trang PHP l 1 trang HTML c nhng m PHP
minh ho cho iu ny, ta hy xem qua mt s v d sau:
V d 1: lu file sau ln a vi tn vd1.php v chy th:
<html><head><title>Testing page</title></head>
<body><?php echo "Hello, world!"; ?></body>
</html>
Nh vy c th nhn xt rng 1 trang PHP cng chnh l 1 trang HTML c nhng m PHP bn trong
v c phn m rng l .php. Phn m PHP c t trong th m <?php v th ng ?>. Khi trnh
duyt truy cp vo 1 trang PHP, server s c ni dung file PHP ln, lc ra cc on m PHP, thc thi
cc on m , ly kt qu xut ra ca cc on m PHP thay th vo ch ban u ca chng trong
file PHP, cui cng server tr v kt qu cui cng l 1 trang ni dung HTML v cho trnh duyt.
v d 1 bn trn, server thc thi on m <?php echo "Hello, world!"; ?>, on m ny s
xut ra dng ch Hello, world!, dng ch ny s c server thay th ngc li vo v tr ca on
m PHP v tr v kt qu cui cng cho trnh duyt:
<html><head><title>Testing page</title></head>
<body>Hello, World!</body>
</html>
/*
y l ch thch nhiu dng
on chng trnh sau s in ra chui abc123
*/
echo "abc123";
?>
KIU D LIU
PHP h tr 8 kiu d liu chnh:
//php ton == kim tra xem 2 biu thc c gi tr bng nhau hay khng
$c = (1==2); //v 1 khc 2 nn $c mang gi tr FALSE
$d = ("abc" == "def"); //$d mang gi tr TRUE
?>
"p" kiu sang boolean: mt s gi tr c chuyn i thnh FALSE trong cc biu thc boolean nu
nh gi tr l:
s nguyn 0,
s thc 0.0,
chui rng "", hoc chui "0",
mng rng (khng cha phn t no) Array(),
i tng khng cha phn t no (ch ng vi PHP4),
gi tr NULL
Cc gi tr cn li s c chuyn i thnh TRUE.
Kiu Integer
Kiu integer mang cc gi tr s nguyn ..., -2, -1, 0, 1, 2, ...Trn hu ht cc h thng, kiu s
nguyn c kch thc 32 bit, mang gi tr t -2147483647 cho n 2147483648. V d:
<?php
$a = 1234;
$b = -123;
$c = 0123; //gi tr 123 h c s 8, tng ng vi 83 h c s 10
$d = 0x1F; //gi tr 1F h c s 16, tng ng vi 31 h c s 10
?>
Kiu String
Kiu string lu gi 1 chui k t, mi k t c kch thc 1 byte. Ni dung string c t gia 2 du
nhy, nhy n (') hoc nhy kp ("). V d
<?php
$a = 'y l 1 chui c t gia du nhy n';
$b = "y l 1 chui c t gia du nhy kp";
$c = 'y l 1 chui c t gia du nhy n vi "vi du nhy kp gia"';
$d = "y l 1 chui c t gia du nhy kp vi 'vi du nhy n gia'";
?>
Khi s dng du nhy i bc chui, ngoi \', \" v \\, PHP c th nhn dng thm mt s
chui k t escape t bic na:
\n: k t xung hng LF (k t c m 10 trong bng m ASCII)
\r: k t v u dng CR (k t c m 13 trong bng m ASCII)
\t: k t tab (k t c m 9 trong bng m ASCII)
\$: k t $
\ooo: (vi o l 1 ch s t 0 n 7) biu th 1 k t c m ASCII ooo trong h c s 8.
V d \101 s l k t 'A' (101 trong h c s 8 tng ng 65 trong h c s 10, k t
ASCII c m 65 chnh l k t 'A').
\xhh: (vi h l 1 ch s t 0 n 9 hoc 1 ch ci t A ti F) biu th 1 k t c m ASCII hh
trong h c s 16.
V d \0x41 s l k t 'A' (41 trong h c s 16 chnh l 65 trong h c s 10).
Ngoi ra, nu bn 1 bin vo gia 1 chui c bc vi du nhy kp, gi tr ca bin s c
thay th vo trong chui. v d:
<?php
$a = 1;
$b = 2;
$c = 3;
$d = "$a $b $c"; //$d s mang gi tr l chui "1 2 3"
?>
Kiu Array
Array l mt mng gm nhiu phn t. Array c to qua lnh Array. V d:
<?php
$a = Array(1,2,3);
Lc ny $a s l 1 mng gm 3 phn t s nguyn l 1, 2 v 3
$b = Array(
"a" => "Nguyn",
"b" => "B",
"c" => "Thnh"
);
echo $b["a"]; //in ra: Nguyn
$b["a"] = "Nguyen";
$b["b"] = "Ba";
$b["c"] = "Thanh";
//gi y $b = Array("a" => "Nguyen", "b" => "Ba", "c" => "Thanh")
?>
Kiu Object
Kiu object (i tng) lu gi 1 bn th (instance) ca 1 lp (class). Ta s tm kiu k thm v kiu
object trong phn Lp trnh hng i tng vi PHP.
Kiu Resource
Kiu resource (ti nguyn) c s dng bi cc hm t bic ca PHP (v d hm mysql_connect s
tr v kiu resource). Ta s tm hiu k hn v kiu resource trong cc bi vit khc.
Kiu NULL
y l 1 gi tr t bic, bo cho PHP bit rng 1 bin no cha/khng mang gi tr no c. V d:
<?php
$a = 1; //$a mang gi tr 1
$a = 2; //gi y $a mang gi tr 2
Tr v u trang
BIN
C l hi mun khi ti tn by gi ta mi tm hiu ti bin trong PHP. Mt bin trong PHP c bt
u bng k t $ v i theo ngay sau l tn ca bin. V d:
$a: bin c tn l a
$abc123: bin c tn l abc123
Tuy nhin vn cn nhiu iu th v v bin ang ch ta khm ph.
Bin trong PHP phn bit ch hoa v ch thng. Tc $Abc v $abc l 2 bin hon ton khc
nhau.
Tn bin ch c bao gm cc k t ch ci (a..z hoc A...Z), ch s (0...9) v k t gch
di (_); nhng tn bin khng c bt u bng k t gch di hoc ch s. Cc tn bin
sau lkhng hp l!
$_abc Khng hp l! bt u bng k t gch di
$1abc Khng hp l! bt u bng ch s
$nguyn Khng hp l! tn bin c k t t bic ()
Tm vc (scope) ca bin
Tm vc ca bin l ng cnh m trong bin c nh ngha. V d:
<?php
$a = 1; //tm vc ca bin $a bt u t y
Tuy nhin khi gp 1 hm do ngi dng nh ngha, bn trong hm, bin cc b s c dng thay
v bin ton cc. V d:
<?php
$a = 1; //bin ton cc
//hm do t to
function test() {
echo $a;
} //end test
?>
//hm do t to
function test() {
//t kho global bo cho php bit l bn trong hm test
//by gi ta s dng bin ton cc $a
global $a;
Cch 2:
<?php
$a = 1; //bin ton cc
//hm do t to
function test() {
echo $GLOBALS['a']; //in ra gi tr: 1
} //end test
?>
BIU THC
Biu thc l nn tng quan trng ca PHP. Hu nh mi th bn ghi trong file php u l biu thc.
Ni mt cch n gin, bt c ci g mang 1 gi tr no u c th l 1 biu thc. Ta xt cu lnh
n gin sau:
$a = 5;
y 5 l mt biu thc, kt ca ca biu thc ny l gi tr 5, v kt qu ny c gn cho bin
$a. $b = $a;
y $a li l 1 biu thc, gi tr ca $a c gn cho bin $b.
Biu thc trong PHP c th phc tp hn th, v d:
$a = 1;
$b = 2;
$c = 3;
$d = $a + $b + $c;
Tr v u trang
TON T
Ton t kt hp cc gi tr hoc biu thc li vi nhau v to ra mt gi tr mi. V d trong biu
thc 1+2 th + l ton t kt hp hai gi tr 1 v 2 li vi nhau to ra gi tr mi l 3.
Cc ton t trong PHP c chia thnh 3 nhm:
Cc ton t p dng trn 1 gi tr, v d nh ton t ++ hoc --
Cc ton t kt hp 2 hoc nhiu gi tr, v d nh ton t +, -, *, /
Ton t ?: dng chn 1 trong 2 gi tr tu thuc vo 1 iu kin cho trc
Th t u tin ca ton t
Cc ton t khc nhau c th c u tin khc nhau. Trong cng 1 biu thc c nhiu ton t,
ton t no c u tin cao hn s c thc hin trc (tr khi bn nhm cc biu thc li bng
du ngoc ( v ) ). Nu trong biu thc c 2 ton t c cng u tin th qui tc lin kt ca tng
ton t s qui nh th t thc hin ca cc ton t .
Sau y l bng lit k cc ton t cng th t u tin ca chng (ton t c u tin cao hn
c lit k bn trn, cc ton t c u tin thp hn c lt k bn di).
CC CU LNH IU KHIN
Cu lnh if
C php n gin nht ca cu lnh if c dng nh sau:
if ( biu thc )
cu lnh;
Cu lnh if trn c din gii nh sau: nu biu thc tr v gi tr TRUE (hoc tng ng vi
TRUE sau khi chuyn i) th cu lnh s c thc thi; ngc li (khi biu thc tr v gi tr
FALSE) th b qua khng thc thi cu lnh na.
C php nng cao ca cu lnh if c dng nh sau:
if ( biu thc )
cu lnh 1;
else
cu lnh 2;
Cu lnh if trn c din gii nh sau: nu biu thc tr v gi tr TRUE th cu lnh 1 s c thi
hnh, ngc li th cu lnh 2 s c thi hnh.
Cc lnh if c th c lng vo nhau to ra cu lnh if phc tp hn:
if ( biu thc 1 )
if ( biu thc 2 )
cu lnh 1;
else
cu lnh 2;
else
cu lnh 3;
Nu biu thc 1 tr v gi tr FALSE th cu lnh 3 s c thc hin, ngc li xt tip biu thc
2: nu biu thc 2 tr v gi tr TRUE th thc hin cu lnh 1, ngc li nu biu thc 2 tr v
gi tr FALSE th thc hin cu lnh 2.
if ( biu thc 1 )
cu lnh 1;
else if ( biu thc 2 )
cu lnh 2;
else if ( biu thc 3 )
cu lnh 3;
else
cu lnh 4;
Nu biu thc 1 tr v TRUE th thc hin cu lnh 1 (cc cu lnh 2,3,4 khng thc hin), nu
biu thc 1 tr v FALSE v biu thc 2 tr v TRUE th cu lnh 2 c thc hin, nu biu
thc 1 tr v FALSEm biu thc 2 tr v FALSE v biu thc 3 tr v TRUE th cu lnh 3 c
thc hin. Nu c 3 biu thc 1,2,3 u tr v FALSE th thc hin cu lnh 4.
Ngoi ra PHP cn cung cp t kho elseif, chnh l ghp gia t kho else v if.
Cu lnh while
Cu lnh while dng to 1 vng lp, c php ca cu lnh ny nh sau:
while ( biu thc )
cu lnh;
c din gii nh sau: trong khi biu thc cn tr v gi tr TRUE th tip tc thc hin cu lnh,
sau khi thc hin cu lnh th kim tra li biu thc, nu vn cn tr v gi tr TRUE th li tip tc
thc hin cu lnh...c tip tc nh vy cho ti khi no biu thc tr v gi tr FALSE th ngng.
Mt v d in ra cc s t 1 ti 10 vi cu lnh while:
<?php
$i = 1;
while ( $i <= 10 ) {
echo $i, "\n";
$i++;
} //end while
?>
Mt v d in ra cc s t 1 ti 10 vi cu lnh do-while:
<?php
$i = 1;
do {
echo $i, "\n";
$i++;
} while ( $i < 10 );
?>
Cu lnh for
Cu lnh for cng dng to vng lp. y l mt trong nhng cu lnh phc tp nht ca PHP, c
php ca n nh sau:
for ( biu thc 1; biu thc 2; biu thc 3 )
cu lnh;
Cu lnh foreach
Cu lnh foreach ch lm vic vi array. Cu lnh foreach c 2 dng c php nh sau:
foreach ( $array as $value )
cu lnh;
foreach ( $a as $value ) {
echo $value, "\n";
} //end foreach
?>
Cu lnh break
Cu lnh break s dng vic thc thi ca cc vng lp for, foreach, while, do-while v switch. phn
trc ta thy cu lnh break c s dng trong cu lnh switch. Nu khng c break, cu lnh
switch phn trc s thnh:
switch ( $a ) {
case "abc";
echo "Gi tr ca a l abc";
case "def";
echo "Gi tr ca a l def";
case "123";
echo "Gi tr ca a l 123";
default:
echo "Gi tr khc";
} //end switch
HM
Hm do ngi dng nh ngha
Trong lp trnh, c mt s on m c dng nhiu ln nhiu ni khc nhau trong chng trnh.
S rt phin v kh sa li nu nh ta phi vit lp i lp li 1 on m nhiu ni. PHP cung
cp mt gii php l hm do ngi dng nh ngha. Ta c th a on m vo trong 1 hm,
v ch no cn dng on m ta ch cn gi hm, khi cn sa i, ta ch cn sa i 1 ch duy
nht l ni dung ca hm ch khng cn phi sa nhiu ni trong chng trnh.
C php to 1 hm do ngi dng nh ngha nh sau:
function tnHm($tham_s1, $tham_s2, ..., $tham _sn) {
//thn hm
echo "Testing";
return $kt_qu_tr_v;
} //end
Gi tr tr v t hm
Hm cn th tr v 1 gi tr cho ni gi:
<?php
function binh_phuong($a) {
$ketqua = $a * $a;
return $ketqua;
} //end testing
echo binh_phuong(2);
?>