chương 2: ngôn ngữ php

120
D H L 6/18/22 NGÔN NGỮ LẬP TRÌNH PHP C H Ư Ơ N G 0 2 Giảng viên: Hồ Diên Lợi 1 Giáo viên: Hồ Diên Lợi

Upload: ho-loi

Post on 04-Aug-2015

39 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

111/03//2015

NGÔN NGỮ LẬP TRÌNH PHP

CH

ƯƠ

NG

02

Giảng viên: Hồ Diên Lợi

Page 2: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

211/03//2015

TỔNG QUAN VỀ PHP

Page 3: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

311/03//2015

1. Cú pháp PHP

Dạng 1: Dạng chuẩn

<?php Mã lệnh PHP ?>

Dạng 2: Dạng ngắn gọn

<? Mã lệnh PHP ?>

Dạng 3: Cú pháp giống với ASP.

<% Mã lệnh PHP %>

Dạng 4: Cú pháp bắt đầu bằng script

<script language=php>.....Mã lệnh PHP</script>

Nhắc nhở: Nên dung dạng chuẩn.

Page 4: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

411/03//2015

2. Hàm xuất nội dung lên trình duyệt web

Hàm echo(<thông tin>); hoặc echo <thông tin>;

Hàm print(<thông tin>); hoặc print <thông tin>;

Hàm print_r(<mảng>);

Trong đó:

<thông tin>: có thể là hằng, biến, biểu thức hay

hàm.

Page 5: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

511/03//2015

Ví dụ

<?php

echo ("Chào các bạn");

echo "Chào các bạn";

print ("Chào các bạn");

print "Chào các bạn";

$a=array(1,2,3,4,5,6,7,8,9);

print_r($a);

?>

2. Hàm xuất nội dung lên trình duyệt web…

Page 6: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

611/03//2015

3. Lời giải thíchDạng 1: # đây là ghi chú.

Dạng này chỉ áp dụng ghi đó chỉ nằm trên một dòng

văn bản

Dạng 2: // đây là ghi chú.

Dạng này cũng chỉ áp dụng ghi đó chỉ nằm trên một

dòng văn bản

Dạng 3: /* đây là một ghi chú dài

Áp dụng cho nhiều hàng */

Page 7: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

711/03//2015

4. Biến trong PHP

Biến là một ô nhớ trong bộ nhớ chính dùng để lưu trữ giá trị

Biến trong PHP bắt đầu bằng dấu $ theo sau là tên biến

Biến có thể được khai báo khi dùng.

Biến trong PHP phân biệt CHỮ HOA, chữ thường

Tên biến bao gồm chữ cái, chữ số, dấu gạch nối (_) và phải bắt

đầu bằng chữ cái hoặc dấu gạch nối.

Biến không cần khai báo (được tự động khai báo vào lần gán giá

trị đầu tiên).

Việc sử dụng biến chưa khởi tạo sẽ gây lỗi.

Page 8: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

811/03//2015

Ví dụ: Khai báo và khởi gán cho tên biến.

<?php

$var_number = 6;

$var_string = "Hello world";

$_POST["name"]="John";

$var_arr = array("Hồ", "Diên", "Lợi");

?>

4. Biến trong PHP…

Page 9: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

911/03//2015

Để khởi gán giá trị cho biết thực hiện như sau:

$name_var = <giá trị biến>;

$name_var = <biểu thức>;

Ví dụ:

<?php

$soluong = 20;

$gia = 25000;

$t_tien = $gia * $soluong;

?>

4. Biến trong PHP…

Page 10: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

1011/03//2015

Biến cục bộ

Biến cục bộ là biến chỉ có ý nghĩa khi được sử dụng trong phạm vị xác định.

Giả sử biến trong hàm là biến cục bộ, nó chỉ có ý nghĩa trong hàm.

4. Biến trong PHP – Phạm vi của biến

Page 11: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

1111/03//2015

Biến toàn cục

Biến cục bộ là biến luôn có ý nghĩa khi sử dụng.

Khi khai báo biến toàn cục ta sử dụng từ khóa global

Biến static

Biến static không mất giá trị khi ra khỏi phạm vi xác định, vẫn giữ giá trị khi gọi lại biến.

4. Biến trong PHP – Phạm vi của biến…

Page 12: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

1211/03//2015

Ví dụ: Biến cục bộ

<?php

function test() {

echo $a; // biến cục bộ

}

?>

<?php

$a= 10;

test(); // không cho kết quả

echo $a; // kết quả 10

?>

4. Biến trong PHP – Phạm vi của biến…

Page 13: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

1311/03//2015

Ví dụ: Biến toàn cục

<?php

function sum() {

global $a, $b; //biến toàn cục

$b = $a+$b;

}

?>

<?php

$a = 10; $b = 20;

sum();

echo $b; // kết quả 30

?>

4. Biến trong PHP – Phạm vi của biến…

Page 14: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

1411/03//2015

Ví dụ: biến static

<?php

function hien() {

static $a =0;

echo $a."</br>";

$a++;

}

?>

<?php

hien(); // kết quả 0

hien(); // kết quả 1

hien(); // kết quả 2

?>

4. Biến trong PHP – Phạm vi của biến…

Page 15: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

1511/03//2015

Hằng là một giá trị không đổi trong quá trình xử lý.

Quy tắc đặt tên hằng giống quy tắc đặt tên biến, chỉ

không sử dụng dấu $

Một số hằng định nghĩa sẵn: FALSE, TRUE…

Hằng được định nghĩa bằng hàm:

define(<tên_hằng>,<giá_trị>);

5. Hằng

Page 16: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

1611/03//2015

Sử dụng hằng

Ví dụ:

<?php

define("PI",3.1423);

$r = 10;

echo "Diện tích". 2*PI*$r*$r;

?>

5. Hằng…

Page 17: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

1711/03//2015

Kiểu số(số nguyên, số thập phân).

Kiểu chuỗi(string)

Kiểu logic(boolean)

Kiểu mảng(array)

Kiểu đối tượng(object)

6. Kiểu dữ liệu

Page 18: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

1811/03//2015

6. Kiểu dữ liệu…

Ép kiểu: Sử dụng cú pháp tương tự trong C

$x = "123abc"; //$x là chuỗi

$x =(int) "123abc";

//$x là số nguyên=123

$s="abc123"+10;//10

Page 19: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

1911/03//2015

6. Kiểu dữ liệu…

Ép kiểu: Sử dụng cú pháp tương tự trong C

Ký hiệu Ý nghĩa kiểu

(int), (integer) Số nguyên

(real), (double), (float) Số thập phân

(string) Chuỗi

(array) Mảng

(object) Đối tượng

(bool), (boolean) Logic

(unset) NULL, tương tự như gọi unset()

Page 20: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

2011/03//2015

7. Các toán tử

Toán tử toán họcPhép

toánVí dụ Kết quả

+ $y =2; $x=$y+2; 4

- $y =2; $x=5-$y; 3

* $y =2; $x=$y*5; 10

/ $y =5; $x=$y/2; 2.5

% $y =5%3;$x =16%8;

20

++ $x =5; $x++; x=6

-- $x =5; $x--; x=4

Page 21: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

2111/03//2015

7. Các toán tử…

Toán tử gán

Phép toán Ví dụ Tương đương

= $x=$y; $x=$y;

+= $x+=$y; $x=$x+$y;

-= $x-=$y; $x=$x-$y;

*= $x*=$y; $x=$x*$y;

/= $x/=$y; $x=$x/$y;

.= $x.=$y; $x=$x.$y;

%= $x%=$y; $x=$x%$y;

Page 22: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

2211/03//2015

7. Các toán tử…

Toán tử so sánh

Phép toán Ví dụ

== 5==8 kết quả false

!= 5!=8 kết quả true

<> 5<>8 kết quả true

> 5>8 kết quả false

< 5<8 kết quả true

>= 5>=8 kết quả false

<= 5<=8 kết quả true

Page 23: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

2311/03//2015

7. Các toán tử…

Toán tử logic

Phép toán Ví dụ

&& $x=6; $y=3; ($x < 10 && $y > 1) kết quả true

|| $x=6; $y=3; ($x==5 || $y==5) kết quả false

! $x=6; $y=3; !($x==$y) kết quả true

Page 24: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

2411/03//2015

7. Các toán tử…

Toán tử @

Không phát sinh lỗi khi sử dụng toán tử @

Ví dụ:

<?php

$a = 10;

$b = 0;

$c1 =$a/$b;

echo "Kết quả :".$c1; //thông báo lỗi

$c2 = @($a/$b);

echo "Kết quả :".$c1

?>

Page 25: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

2511/03//2015

8. Sự khác nhau giữa " " và ' '

Ví dụ:

<?php

$a = 3;

$b = 4;

$c = $a+$b;

echo "Tổng $a + $b =$c"; // Tổng 3 + 4 =7

echo 'Tổng $a + $b =$c'; // 'Tổng $a + $b =$c

?>

Page 26: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

2611/03//2015

9. Tham chiếu

• Trong PHP tham chiếu có nghĩa là lấy cùng giá một

trị bằng nhiều tên biến khác nhau.

• Ký hiệu tham chiếu là &.

Ví dụ:

<?php

$a = 10;

$b = &$a;

echo "Kết quả :".$b;

?>

Page 27: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

2711/03//2015

CÂU LỆNH ĐIỀU KHIỂN

Page 28: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

2811/03//2015

1. Câu lệnh if…else …

Câu lệnh if dạng khuyết:

if (<BTĐK>) <lệnh>;

Câu lệnh if đầy đủ:

if (<BTĐK>) <lệnh 1>; else < lệnh 2> ;

Câu lệnh if lồng nhau:

if (<BTĐK>) <lệnh 1>; elseif < lệnh 2> …

Page 29: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

2911/03//2015

2. Toán tử ?

<tên_biến> = (<btdk>)? <value_true>: <value_false>;

Ví dụ:

<?php

$a = 10;

$b =20;

$kq = ($a>$b)?$a:$b;

echo "Kết quả".$kq;// kết quả 20

?>

Page 30: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

3011/03//2015

3. Câu lệnh switch

switch (gt)

{

case gt1: <công việc 1>; break;

case gt2: <công việc 2>; break;

...

default: <công việc n+1>; break;

}

Page 31: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

3111/03//2015

4. Câu lệnh lặp

Câu lệnh while

while (<btdk>) <lệnh>;

Câu lệnh do … while

do { <lệnh >} while (<btđk>);

Câu lệnh for

Câu lệnh foreach

foreach($doituong as $value) {<lệnh>;}

Page 32: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

3211/03//2015

Lệnh break

break cho phép ta thoát khởi cấu trúc điều khiển dựa trên kết quả của biểu thức logic

Lệnh continue

Khi gặp continue, các lệnh bên dưới continue tạm thời không thực hiện tiếp, khi đó con trỏ sẽ nhảy về đầu vòng lặp để kiểm tra giá trị của biểu thức điều kiện còn đúng hay không. continue thường đi kèm với một biểu thức logic

5. Lệnh break và continue

Page 33: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

3311/03//2015

MẢNG MỘT CHIỀU

Page 34: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

3411/03//2015

1. Đặc điểm của mảng trong PHP

Mảng là tập hợp vô hạn các phần tử.

Các phần tử có thể có kiểu dữ liệu bất kỳ.

Chỉ số mảng có kiểu dữ liệu bất kỳ.

Ví dụ:

$a= array();

$a[0]=2.5; $a['c']=10; $a['ngaysinh']="18/09/1994";

Page 35: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

3511/03//2015

2. Khai báo mảng

Cách 1: Khai báo chưa biết số phần tử mảng

Cú pháp: $ten_mang = array();

Ví dụ:

<?php

$a = array();

for ($i=0; $i<10; $i++)

$a[$i] = $i * 2;

?>

Page 36: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

3611/03//2015

Cách 2: Khai báo biết trước spt mảng

Cú pháp:

$ten_mang = array(<spt mảng>);

Ví dụ:

<?php

$a = array(10);

for ($i=0; $i<count($a); $i++)

$a[$i] = $i * 2;

?>

2. Khai báo mảng…

Page 37: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

3711/03//2015

Cách 3: Khai báo biết giá trị của mảng

Cú pháp:

$ten_mang = array([khóa =>] giá_trị_1, …);

Trong đó:

- Khóa có thể là số nguyên hoặc chuỗi.

- Nếu ta không tạo giá trị khóa, thì khóa sẽ tự động

phát sinh.

2. Khai báo mảng…

Page 38: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

3811/03//2015

Cách 4: Gán giá trị cho từng phần tử mảng

Cú pháp:

$ten_mang[ ] =<giá trị>;

Hoặc

$ten_mang[<giá trị khóa>] =<giá trị>;

2. Khai báo mảng…

Page 39: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

3911/03//2015

3. Truy xuất phần tử mảng

Truy xuất đến phần tử mảng theo cú pháp:

$bien = $ten_mang[<giá trị khóa>];

Ví dụ:

$var1 = $mang[0];

$var2 = $mang[1];

$var3 = $mang[2];

$var4 = $mang[3];

Page 40: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

4011/03//2015

4. Các thao tác trên mảng

Duyệt mảng có từ khóa động

Ví dụ:

<?php

$mang = array("4","6","8","0","3","5","9");

$spt = count($mang);

for($i = 0; $i < $spt; $i++ )

{

echo "\t" . $mang[$i];

}

?>

Page 41: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

4111/03//2015

Duyệt mảng có khóa do người dùng tạo

Ví dụ:

<?php

$mang = array('a'=>4, 'c'=>6, 'd'=>8,'e'=>3);

foreach($mang as $vars )

{

echo "\t" . $vars;

}

?>

4. Các thao tác trên mảng…

Page 42: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

4211/03//2015

Duyệt để lấy giá trị khóa và giá trị phần tử.

Ví dụ:

<?php

$mang = array("4","6","8","0","3","5","9");

foreach($mang as $khoa =>$vars )

{

echo "</br>" . $khoa." " .$vars;

}

?>

4. Các thao tác trên mảng…

Page 43: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

4311/03//2015

5. Một số hàm liên quan đến mảng

- count($arr): số phần tử mảng

- sort($arr): sắp xếp mảng tăng dần

- rsort($arr): sắp xếp mảng giảm dần

- min($arr), max($arr): phần tử nhỏ nhất, phần tử lớn nhất

- array_push($arr, $pt): Thêm phần tử vào cuối mảng

- array_pop($arr): Lấy ra phần tử vào cuối mảng

- array_unshift($arr, $pt): Thêm phần tử vào đầu mảng

- array_shift($arr): Lấy ra phần tử vào đầu mảng

Page 44: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

4411/03//2015

MẢNG HAI CHIỀU

Page 45: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

4511/03//2015

1. Khai báo và khởi tạo

Khai báo chưa biết số phần tử mảng

$ten_mang = array(array(), array(),…);

Khởi gán giá trị cho từng phần tử mảng

$ten_mang [vị trí hàng] [vị trí cột] = <giá trị>;

Page 46: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

4611/03//2015

2. Truy xuất phần tử trong mảng

$bien = $ten_mang [vị trí hàng] [vị trí cột];

Ví dụ:

<?php

$a= array(array(1,2),array(3,4));

for ($i =0; $i< count($a); $i++)

{

foreach($a[$i] as $var)

echo $var;

echo "</br>";

}

?>

Page 47: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

4711/03//2015

3. Các thao tác trên mảng

Duyệt mảng có từ khóa động

<?php

$dong = count($mang);

for($i = 0; $i < $dong; $i++ ) {

foreach($mang[$i] as $vars )

{

echo "\t" . $vars;

}

}

?>

Page 48: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

4811/03//2015

XÂY DỰNG HÀM TRONG PHP

Page 49: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

4911/03//2015

1. Hàm do người dùng định nghĩa

Để khai báo hàm ta sử dụng cấu trúc sau:

Cú pháp:

function ten_ham([danh sách tham số])

{

// khối lệnh bên trong hàm

[returm gia_trị;]

}

Page 50: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

5011/03//2015

<?php

function hien_thi()

{

echo "Chào các bạn";

}

// gọi lại hàm

hien_thi(); // Chào các bạn

?>

1. Hàm do người dùng định nghĩa…

Page 51: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

5111/03//2015

<?php

function tinh_tong($a, $b)

{

$c = $a + $b;

echo "Tổng:".$c;

}

// gọi lại hàm

tinh_tong(6,5); // Tổng: 11

?>

1. Hàm do người dùng định nghĩa…

Page 52: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

5211/03//2015

<?php

function tinh_tong($a, $b)

{

$c = $a + $b;

return $c;

}

// gọi lại hàm

$t = tinh_tong(6,5);

echo "Tổng: ".$t; //kết quả: Tổng 11

?>

1. Hàm do người dùng định nghĩa…

Page 53: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

5311/03//2015

THƯ VIỆN HÀM TRONG PHP

Page 54: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

5411/03//2015

Hàm ltrim(str [,char]); xóa bỏ các ký tự trắng bên trái hoặc xóa bỏ các ký tự char bên trái

Hàm rtrim(str [,char]); xóa bỏ các ký tự trắng bên phải hoặc xóa bỏ các ký tự char bên trái

Hàm trim(str [,char]); xóa bỏ các ký tự trắng hai bên hoặc xóa bỏ các ký tự char hai bên.

2. Thư viện hàm – Chuỗi

Page 55: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

5511/03//2015

Ví dụ

<?php

$st="aaaa Hoàng Nam aaaa";

$st = ltrim($st,'a');//' Hoàng Nam aaaa'

$st = rtrim($st,'a');//' Hoàng Nam '

$st = trim($st);//'Hoàng Nam'

echo $st; //" Hoàng Nam"

?>

2. Thư viện hàm – Chuỗi

Page 56: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

5611/03//2015

Hàm ucfirst($st): hàm chuyển ký tự đầu tiên của

chuỗi thành hoa.

Hàm ucwords($st): viết hoa kí tự đầu tiên của mỗi

từ.

Hàm strtolower($st): chuyển kí tự bất kỳ thành chữ

thường.

Hàm strtoupper($st ): biến kí tự bất kỳ thành chữ

hoa.

2. Thư viện hàm – Chuỗi

Page 57: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

5711/03//2015

Ví dụ:

<?php

$st = "nguyễn Hoàng Nam";

echo ucfirst($st); // Nguyễn Hoàng Nam

echo ucwords($st); // Nguyễn Hoàng Nam

echo strtolower($st); // nguyễn hoàng nam

echo strtoupper($st); // NGUYỄN HOÀNG NAM

?>

2. Thư viện hàm – Chuỗi

Page 58: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

5811/03//2015

Hàm strlen($st): Kết quả trả về độ dài của chuỗi

Hàm strcmp($str1,$str2): hàm so sánh chuỗi

không phân biệt chữ hoa và chữ thường.

Hàm strstr($st1, $st2) và strchr($s1, $st2): tìm

chuỗi st2 trong st1, nếu tồn tại hàm sẽ trả về chuỗi

con trong $st1 bắt đầu $st2.

2. Thư viện hàm – Chuỗi

Page 59: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

5911/03//2015

Ví dụ:

<?php

$st = "Nguyễn Hoàng Bảo Nam";

echo strlen($st); // 20

echo strcmp('Hải','Nam'); // kết quả -1

echo strcmp('Nam','Nam') "; // kết quả 0

echo strcmp('Nam','Hải'); // Kết quả 1

$email = "[email protected]";

echo strstr($email,'@'); //@hitc.edu.vn

?>

2. Thư viện hàm – Chuỗi

Page 60: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

6011/03//2015

Hàm strpos($st1,$st2): tìm vị trí chuỗi con $st2

trong chuỗi $st1

Hàm str_replace($seach, $rep, $st): tìm kiếm và

thay thế

Hàm strrev($st ): đảo ngược 1 xâu.

2. Thư viện hàm – Chuỗi

Page 61: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

6111/03//2015

Ví dụ:

<?php

$email = "[email protected]";

echo strpos($email,'@hitc'); // 9

echo str_replace('hitc.edu.vn','yahoo.com',$email);

$st = "ssalc ym olleH";

echo strrev($st); //Hello my class

?>

2. Thư viện hàm – Chuỗi

Page 62: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

6211/03//2015

Hàm explode($ch, $st): tách chuỗi $st thành nhiều phần tử và gán cho phần tử mảng, tách theo ký tự $ch.

Hàm implode($ch, $mang): kết hợp các phần tử mảng thành chuỗi, các phần tử mảng cách nhau bởi $ch

Hàm chr(number): đổi số thành ký tự trong bảng mã ASCII

2. Thư viện hàm – Chuỗi

Page 63: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

6311/03//2015

Ví du:

<?php

$st = "Nguyễn","Hoàng","Bảo","Nam";

$mang = explode(',',$st);

print_r($mang);

$st = implode(' ',$a);//Nguyễn Hoàng Bảo Nam

echo($st);

echo chr(97); // kết quả a

echo chr(65); //kết quả A

?>

2. Thư viện hàm – Chuỗi

Page 64: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

6411/03//2015

Hàm abs(x): Giá trị tuyệt đối của x

Hàm round(x[,i]) : hàm làm tròn

Hàm exp(x): ex

Hàm lượng giác: sin(x) /cos(x)/tan(x)

Hàm sqrt(x): căn bậc 2

Hàm rand([n1,n2]): ngẫu nhiên số trong khoảng n1,n2 hoặc ngẫu ngiên số bất kỳ

2. Thư viện hàm – Kiểu số

Page 65: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

6511/03//2015

Ví dụ: echo abs(-5); //echo abs(5); kết quả 5$so = 1234.567;echo round($so); // Kết quả 1234echo round($so,2); // Kết quả 1234.57

echo round($so,-2); // Kết quả 1200

echo exp(2); //kết quả 7.3890560989307echo sin(30*PI()/180); // Kết quả 0.5echo "Căn bậc 2:".sqrt(9); // Kết quả 3

echo rand(); //trả về số ngẫu nhiên

echo rand(10,100); // trả về số ngẫu nhiên 10..100

2. Thư viện hàm – Kiểu số

Page 66: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

6611/03//2015

Hàm pow(a,x): a mũ x

Hàm pi(): Trả về số Pi

Hàm range(gt1,gt2): hàm lấy giá trị nguyên trong

khoảng gt1.. gt2 và trả về mảng

Hàm number_format($number[,tham số định

dạng]): Định dạng số

2. Thư viện hàm – Kiểu số

Page 67: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

6711/03//2015

Ví dụ:

echo pow(10,2); // kết quả 100

echo pi(); // kết quả 3.1415926535898

$mang = range(10, 100);

print_r($mang);

$number = 1234.5678;

echo number_format($number); // 1,235

echo number_format($number, 2, ',', ' ');//1 234,57

echo number_format($number, 2, '.', '');//1234.57

2. Thư viện hàm – Kiểu số

Page 68: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

6811/03//2015

Hàm checkdate($month, $day, $year) kiểm tra ngày nhập vào có hợp lệ không?

Ví dụ:

<?php

$m = 2; $d = 30; $y = 2010;

echo checkdate($m, $d, $y); // 0

$d = 24;

echo checkdate($m, $d, $y); // 1

?>

2. Thư viện hàm – Kiểu ngày, giờ

Page 69: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

6911/03//2015

Hàm date(format [, timestamp])

Trong đó, format

D Ngày Mon đến Sun

d Ngày 01 đến 31

M Tháng Jan đến Dec

m Tháng 01 đến 12

Y Năm có 4 ký số

y Năm có 2 ký số

2. Thư viện hàm – Kiểu ngày, giờ

Page 70: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

7011/03//2015

Hàm getdate(): lấy seconds, minutes, hours, mday, wday, mon, year, yday, weekday, month, 0 và trả về một mảng có chỉ số mảng là seconds,….

Ví dụ:

$d = getdate();

echo $d['seconds'];

echo $d['minutes'];

echo $d['hours'];

echo $d['mday'];……….

2. Thư viện hàm – Kiểu ngày, giờ

Page 71: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

7111/03//2015

ĐỐI TƯỢNG TRONG PHP

Page 72: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

7211/03//2015

1. Khai báo và thể hiện lớp trong PHP

Đối tượng được khai báo thông qua từ khóa class.

Các thuộc tính khai báo dưới dạng các biến.

Các phương thức được khai báo dưới dụng các

hàm.

class name_class

{

//danh sách các biến, hằng, lớp

// danh sách các hàm

}

Page 73: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

7311/03//2015

class my_web

{

var $a; // Thuộc tính

var $b; //Thuộc tính

function tong($a,$b) //Phương thức

{

return $a+$b;

}

}

1. Khai báo và thể hiện lớp trong PHP

Page 74: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

7411/03//2015

1. Khai báo và thể hiện lớp trong PHP

Khởi tạo một đối tượng ta sử dụng từ khóa new

$tên_đối_tượng = new tên_lớp();

Để gọi hàm trong lớp ta sử dụng toán tử ->

$tên_đối_tượng -> tên_hàm();

Hoặc dùng toán tử : : để gọi đến 1 hàm hay một biến (biến phải được khai báo static)

$tên_đối_tượng :: tên_hàm();

$tên_đối_tượng :: tên_biến;

Page 75: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

7511/03//2015

<?phpclass myweb{

function tong($a,$b){

return $a+$b; }}$dt = new myweb();echo "Tổng= ".$dt->tong(10,20); // Tổng= 30?>

1. Khai báo và thể hiện lớp trong PHP

Page 76: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

7611/03//2015

2. Phương thức và thuộc tính sd $this

Một số khai báo phương thức và thuộc tính của lớp:

- Phương thức: public

- Phương thức: protected

- Phương thức: private

Page 77: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

7711/03//2015

2. Phương thức: public

public: có thể truy xuất từ bên ngoài hoặc từ bên trong phương thức thông qua con trỏ đặc biệt $this

class A {

public $a = " Hoang";

function chao() {

print "Xin

chao";

}

function test(){

print $this-

>chao(); print $this->a;

} //Xin chao

Hoang

}

Page 78: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

7811/03//2015

2. Phương thức: protected

protected: chỉ có thể truy xuất từ bên trong phương thức của lớp đó hoặc từ một lớp kế thừa từ lớp đó

<?php

class A {

protected $a = 10;

function chaoa()

{

print $this->a;

}

}

class B extends A {

protected $a = 20;

function chaob() {

print $this->a;

}

} $ob = new B;$ob->chaoa(); // 20

?>

Page 79: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

7911/03//2015

2. Phương thức: private

private: chỉ có thể được truy xuất từ bên trong lớp đó, cũng sử dụng con trỏ $this như protected

class A {

private $a = “private_member”;

function printHello()

{

print $this->a;

}

}

Page 80: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

8011/03//2015

2. Phương thức: static

Biến static có thể coi như một biến toàn cục được đặt

trong 1 lớp nhưng có thể truy xuất từ bất kỳ đâu qua

lớp đó, sử dụng toán tử ::

Khi gọi biến static trong hàm ta sử dụng toán tử self

thay cho con trỏ this

Page 81: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

8111/03//2015

class A {

static $a = 5;

function hienthi()

{

echo self::$a;

}

}

echo A::$a++;//6

A:: hienthi();//5

2. Phương thức: static

Page 82: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

8211/03//2015

Phương thức static: tương tự như biến static nhưng

ngoài việc gọi nó bằng toán tử self nó có thể được truy

xuất bằng con trỏ this trong 1 hàm

2. Phương thức: static

Page 83: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

8311/03//2015

class A {static function hienthi() {

echo "Xin chao";}function show () {

self:: hienthi();//hoac $this->hienthi();}

}

A:: hienthi();//A::show(); sẽ lỗi khi dùng $this

$obj = new A();

$obj->show();//hoac $obj->printHello();

2. Phương thức: static

Page 84: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

8411/03//2015

Chú ý Để tránh sự không rõ ràng giữa toán tử this và self hay -> và :: người ta thường quy ước như sau:

Khi gọi đến thuộc tính hay đối tượng kiểu static trong

một lớp hay từ ngoài lớp gọi đến 1 hàm hay 1 thuộc

tính của lớp nên dùng toán tử self và ::

Khi gọi đến thuộc tính hay đối tượng bình thường

trong một lớp hay từ ngoài lớp gọi đến 1 hàm hay 1

thuộc tính của lớp thì dùng toán tử this và ->

2. Phương thức: static

Page 85: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

8511/03//2015

3. Hằng số trong lớp

Có thể định nghĩa hằng trên một lớp.

Hằng có giá trị không đổi và khai báo không có $

Tên hằng không được trùng với tên biến, lớp, hàm

hay kết qủa của 1 phép toán hay 1 hàm

const myConst = "Const_Value";

Để lấy giá trị của 1 hằng ta chỉ có thể dùng toán tử ::

hoặc thông qua một phương thức

Page 86: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

8611/03//2015

<?php

class A

{

const PI =3.14;

// phuong thức

}

echo A::PI;

?>

3. Hằng số trong lớp…

Page 87: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

8711/03//2015

4. Đa hình

Đa hình trong PHP sử dụng các lớp và thừa kế giữa

chúng.

Cú pháp

class child extends parent

{

// khai báo

}

Page 88: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

8811/03//2015

PHP không hỗ trợ đa thừa kế như C++

PHP cung cấp 1 giải pháp khác cho việc tạo ra

nhiều hơn 1 quan hệ của lớp bằng cách sử dụng

interfaces như là Java

4. Đa hình…

Page 89: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

8911/03//2015

5. Parent :: và self ::

PHP hỗ trợ 2 lớp dành riêng để dẽ dàng hơn trong

việc viết các ứng dụng hướng đối tượng

Self:: thường được dùng để truy cập đến các đối

tượng, phương thức kiểu static hay hằng số của lớp

hiện tại

Parent:: gọi đến lớp cha và thường được dùng khi

muốn gọi hàm tạo hay các phương thức của lớp cha

Page 90: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

9011/03//2015

CÁC HÀM KIỂM TRA GIÁ TRỊ

Page 91: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

9111/03//2015

Hàm isset() dùng để kiểm tra xem “biến” có tồn tại biến hay không?

Ví dụ:

<?php

$a = "Nguyễn Hoàng Nam";

isset($a); // trả về giá trị true

isset($b); // trả về giá trị false

?>

1. Hàm isset()

Page 92: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

9211/03//2015

Hàm empty() dùng để kiểm tra biến xem có tồn tại biến hay không?

Ví dụ:

<?php

$a = "Nguyễn Nam";

empty($a); // trả về giá trị false

empty($b); // trả về giá trị true

?>

2. Hàm empty()

Page 93: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

9311/03//2015

Hàm is_numeric() kiểm tra biến có kiểu giá trị kiểu số hay không.

Ví dụ:

<?php

$a = "Nguyễn Hoàng Nam";

$b =123;

is_numeric($a); // trả về giá trị false

is_numeric($b); // trả về giá trị true

?>

3. Hàm is_numeric()

Page 94: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

9411/03//2015

Hàm is_int(<tên_biến>) hoặc is_long(<tên_biến>) kiểm tra giá trị của biến có phải là số nguyên hay không.

Ví dụ:

<?php

$a = 124.5;$b =123;is_int($a); // trả về giá trị falseis_int($b); // trả về giá trị true

?>

4. Hàm is_int() và is_long()

Page 95: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

9511/03//2015

Hàm is_string() kiểm tra giá trị của biến có phải là kiểu chuỗi hay không

Ví dụ:

<?php

$a = 124.5;

$b ="Nguyễn Hoàng Nam";

is_string($a); // trả về giá trị false

is_string($b); // trả về giá trị true

?>

5. Hàm is_string()

Page 96: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

9611/03//2015

Hàm is_double() kiểm tra giá trị của biến có phải là kiểu số có dấu chấm động

Ví dụ:

<?php

$a = 12345;

$b =123.45;

is_double($a); // trả về giá trị false

is_double($b); // trả về giá trị true

?>

6. Hàm is_double()

Page 97: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

9711/03//2015

Hàm gettype() trả về kiểu dữ liệu của biến: integer, string, double, array, object, class…

Ví dụ:

<?php

$a = 12345;

$b = "Nguyễn Hoàng Nam";

echo gettype($a); // trả về numeric

echo gettypy($b); // trả về string

?>

7. Hàm gettype()

Page 98: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

9811/03//2015

BIỂU MẪU(FORM)

Page 99: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

9911/03//2015

1. Đặc điểm của form

Form là một thành phần của trang web.

Các đối tượng thể hiện của form:

TextField

Textarea

Button

RadioButton

CheckBox

List/Menu

Page 100: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

10011/03//2015

Các thuộc tính cơ bản của form:

name: tên form

action: hành động

method: phương thức

Loại nội dung trong form

enctype = content-type với content-type:

application/x-www-form-urlenconded

multipart/fom-data

1. Đặc điểm của form…

Page 101: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

10111/03//2015

Khi muốn lấy giá trị từ form đưa về trang nào thì trong action ta nhập vào trang đó.

Vi dụ:

<form action = "xu_ly.php" method ="POST" name="form1">

……………

</form>

Chú ý: Trang này là bắt buộc là .php

1. Đặc điểm của form…

Page 102: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

10211/03//2015

Phương thức là hình thức chuyển giá trị trên form đến

trang action.

Có 2 phương thức:

POST: chuyển giá trị đến trang action và nhận

giá trị ta dùng biến $_POST hoặc $_REQUEST.

GET: chuyển giá trị đến trang action và nhận giá

trị ta dùng biến $_GET hoặc $_REQUEST

1. Đặc điểm của form…

Page 103: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

10311/03//2015

Đặc điểm

- Biến $_POST được dùng để lấy các giá trị trên form thông qua phương thức POST.

- Thông tin được gửi từ form với phương thức này không giới hạn dung lượng thông tin gửi đi.

- Thông tin được gửi bằng phương thức POST sẽ không hiện thị lên địa chỉ URL nên người dùng không thể thấy được.

1. Đặc điểm của form - POST

Page 104: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

10411/03//2015

Cách sử dụng

Cú pháp lấy giá trị của một đối tượng trên form sau khi form submit:

$_POST['tên điều khiển'];

1. Đặc điểm của form – POST…

Page 105: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

10511/03//2015

Đặc điểm

Biến $_GET được dùng để lấy giá trị trên

form bằng phương thức GET. Thông tin gửi

qua không vượt quá 100 ký tự

Thông tin được gửi đi bằng phương thức

GET sẽ hiển thị trên địa chỉ URL nên người

dùng có thể thấy được các thông tin này.

1. Đặc điểm của form - GET

Page 106: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

10611/03//2015

Cách sử dụng Cú pháp lấy giá trị trên form bằng phương

thức GET như sau:

$_GET["Tên điều khiển"];

1. Đặc điểm của form – GET…

Page 107: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

10711/03//2015

Đặc điểm Biến $_REQUET chọn nội dung cả các biến

$_POST, $_GET, $_COOKIE Có thể lấy thông tin không cần xác định

phương thức form. Độ bảo mật thông tin thấp

2. Biến $_REQUEST

Page 108: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

10811/03//2015

Cách sử dụng Cú pháp lấy giá trị bằng biến $_REQUEST

$_REQUEST["Tên điều khiển"];

2. Biến $_REQUEST…

Page 109: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

10911/03//2015

Dùng để nhập và hiển thị dữ liệu: có 3 loại sau:

• Single line: nhập và hiển trên 1 dòng văn bản

• Multi line: nhập và hiển trên nhiều dòng văn

bản

• Password: hiển thi dấu * thay cho ký tự

3. Input[type="text|password"]

Page 110: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

11011/03//2015

4. Textarea

Dùng để nhập và hiển thị dữ liệu dạng multi line:

Num line: số dòng văn bản hiển thị

Wrap: Tăng số dòng bản nếu văn bản vượt

quá num line

Page 111: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

11111/03//2015

Dùng để tạo ra các nút như submit, reset:

Button submit: khi ta nhấn vào nút này dữ

liệu trên form sẽ gửi về server.

Button reset: khi nhấn vào nút này các đối

tượng trên form sẽ reset.

Button: khi nhấn vào nút này sẽ gọi một kịch bản

(Javascript)

5. Input[type="submit|reset|button"]

Page 112: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

11211/03//2015

Checkbox là một đối tượng có hai trạng thái on/off

Trên form có nhiều checkbox, đồng thời ta có thể

chọn nhiều checkbox.

6. Input[type="checkbox"]

Page 113: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

11311/03//2015

Radio là một đối tượng có hai trạng thái on/off.

Trên form có nhiều radio, các radio cùng nhóm có

cùng name.

Chỉ có thể chọn một radio trên nhóm.

7. Input[type="radio"]

Page 114: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

11411/03//2015

8. Select - option

Là danh sách nhiều mục chọn.

Có thể chọn một hoặc nhiều mục chọn.

Muốn chọn nhiều mục chọn thì thuộc tính

"Selectons Allow Multiple"

Page 115: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

11511/03//2015

9. input[type="file"]

Đối tượng này cho phép người dùng chọn một file để xem xét các thuộc tính hoặc upload,…

Để lấy giá trị từ form ta sử dụng biến sau:

$_FILES["tendk"]["name"]: tên tập tin

$_FILES["tendk"]["type"]: kiểu

$_FILES["tendk"]["tmp_name"]

$_FILES["tendk"]["size"]

$_FILES["tendk"]["error"]

Page 116: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

11611/03//2015

MỘT SỐ BÀI TẬP

Page 117: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

11711/03//2015

Tạo form sau:

Ví dụ 1

Page 118: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

11811/03//2015

Tạo form sau:

Ví dụ 2

Page 119: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

11911/03//2015

Tạo form sau:

Ví dụ 3

Page 120: Chương 2: Ngôn ngữ PHP

Giáo viên: Hồ Diên Lợi

DH

L

12011/03//2015

Tạo form sau:

Ví dụ 4