Download - 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
Giáo viên: Hồ Diên Lợi
DH
L
211/03//2015
TỔNG QUAN VỀ 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.
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.
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…
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 */
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.
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…
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…
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
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…
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…
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…
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…
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
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…
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
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
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()
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
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;
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
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
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
?>
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
?>
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;
?>
Giáo viên: Hồ Diên Lợi
DH
L
2711/03//2015
CÂU LỆNH ĐIỀU KHIỂN
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> …
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
?>
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;
}
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>;}
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
Giáo viên: Hồ Diên Lợi
DH
L
3311/03//2015
MẢNG MỘT CHIỀU
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";
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;
?>
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…
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…
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…
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];
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];
}
?>
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…
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…
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
Giáo viên: Hồ Diên Lợi
DH
L
4411/03//2015
MẢNG HAI CHIỀU
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ị>;
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>";
}
?>
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;
}
}
?>
Giáo viên: Hồ Diên Lợi
DH
L
4811/03//2015
XÂY DỰNG HÀM TRONG 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ị;]
}
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…
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…
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…
Giáo viên: Hồ Diên Lợi
DH
L
5311/03//2015
THƯ VIỆN HÀM TRONG 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
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
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
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
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
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
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
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
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
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
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ố
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ố
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ố
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ố
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ờ
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ờ
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ờ
Giáo viên: Hồ Diên Lợi
DH
L
7111/03//2015
ĐỐI TƯỢNG TRONG 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
}
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
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;
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
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
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
}
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
?>
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;
}
}
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
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
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
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
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
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
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…
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
}
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…
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
Giáo viên: Hồ Diên Lợi
DH
L
9011/03//2015
CÁC HÀM KIỂM TRA GIÁ TRỊ
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()
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()
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()
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()
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()
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()
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()
Giáo viên: Hồ Diên Lợi
DH
L
9811/03//2015
BIỂU MẪU(FORM)
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
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…
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…
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…
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
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…
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
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…
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
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…
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"]
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
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"]
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"]
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"]
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"
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"]
Giáo viên: Hồ Diên Lợi
DH
L
11611/03//2015
MỘT SỐ BÀI TẬP
Giáo viên: Hồ Diên Lợi
DH
L
11711/03//2015
Tạo form sau:
Ví dụ 1
Giáo viên: Hồ Diên Lợi
DH
L
11811/03//2015
Tạo form sau:
Ví dụ 2
Giáo viên: Hồ Diên Lợi
DH
L
11911/03//2015
Tạo form sau:
Ví dụ 3
Giáo viên: Hồ Diên Lợi
DH
L
12011/03//2015
Tạo form sau:
Ví dụ 4