Professional Documents
Culture Documents
5.1 PHP - CoBan - 01
5.1 PHP - CoBan - 01
2
PHP là gì?
PHP: Hypertext Preprocessor
Là ngôn ngữ server-side script, mã nguồn mở,
miễn phí, thực thi ở phía WebServer
Tập tin PHP có phần mở rộng là *.php
Cú pháp ngôn ngữ giống ngôn ngữ C & Perl
3
Chạy PHP
Download WAMP, XAMP, AppServ ….
PHP
MySQL
Apache
4
Cơ chế hoạt của WebServer
5
Nhúng PHP vào trang web
Có 3 cách
<?php ?>
<? ?>
php.ini (short_open_tag = Off/On)
Ví dụ:
<?php
echo “<b>Hello</b> World!";
?>
6
Quy ước
Viết code PHP tương tự ngôn ngữ C
Kết thúc câu lệnh dùng dấu chấm phẩy “;”
Phân biệt chữ hoa, thường,…
Phần mở rộng của tập tin PHP là *.php
Ghi chú trong PHP:
// ghi chú đơn
/* đoạn ghi chú */
7
Biến
Cú pháp khai báo biến: $tên_biến
Ví dụ:
<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;
?>
8
Biến
Quy tắc đặt tên cho biến
Tên biến phải bắt đầu bằng ký tự $, theo sau là 1
ký tự hoặc dấu_, tiếp đó là ký tự, ký số hoặc dấu_
Nên khởi tạo giá trị ban đầu cho biến
Tên biến không trùng với tên hàm
Biến không nên bắt đầu bằng ký số
9
Biến
Biến trong PHP có 3 phạm vi:
Cục bộ (local)
Toàn cục (global)
Static
10
Biến cục bộ
Được khai báo trong hàm
Ví dụ:
<?php
$a = 1; // phạm vi toàn cục
function Test()
{
echo $a; // phạm vi cục bộ
}
Test(); //→ không có
echo $a; //→ 1
?>
11
Biến toàn cục
Là biến có thể truy xuất bất cứ nơi nào trong
trang.
Truy cập:
global $_tên_biến
$_GLOBALS[“tên_biến”]
12
Ví dụ biến toàn cục
<?php Sum();
$a = 1; echo $b; //→ 3
$b = 2; ?>
function Sum()
{
global $a, $b;
$b = $a + $b;
}
13
Biến static
Là biến không mất đi giá trị khi ra khỏi hàm
Ví dụ:
<?php Test(); → 0
function Test() Test(); → 1
{ Test(); → 2
static $a = 0; ?>
echo $a;
$a++;
}
14
Hằng
Cú pháp:
define(“tên hằng”, “giá trị của hằng”);
Ví dụ:
define('DS', DIRECTORY_SEPARATOR);
15
Kiểu dữ liệu
String
Integer
Float (double)
Boolean
Array
Object
NULL
Resource
16
String
Chuỗi: dùng cặp dấu ‘ ’ hoặc “ ”
Ví dụ:
<?php
$x = "Hello world!";
$y = 'Hello world!';
echo $x;
echo "<br>";
echo $y;
?>
17
Interger
Số nguyên: ít nhất 1 chữ số, không có phần
thập phân, số dương hoặc âm.
-2,147,483,648 đến 2,147,483,647
Ví dụ:
<?php
$x = 5985;
var_dump($x);
?>
18
Float
Số thực: là số có phần thập phân hoặc số
dạng hàm mũ
Ví dụ:
<?php
$x = 10.365;
$y=1.e3; //1000
?>
19
Boolean
Trình bày 2 giá trị: TRUE hoặc FALSE.
Ví dụ:
$x = true;
$y = false;
20
Null
Là kiểu dữ liệu chỉ có giá trị null
Biến có kiểu null là biến chưa được đặt giá trị
Biến tạo, chưa thiết lập giá trị, tự động được đặt giá trị
null
Ví dụ:
$x = "Hello world!";
$x = null;
var_dump($x);
21
Resource
Là kiểu dữ liệu đặc biệt , không phải là kiểu
dữ liệu thực
Dùng lưu trữ tham chiếu đến hàm hoặc
nguồn tài nguyên bên ngoài PHP
22
Array
Mảng dùng để lưu trữ nhiều giá trị trong một
biến duy nhất.
Có 3 loại:
Indexed arrays – Mảng chỉ số
Associative arrays – Mảng kết hợp
Multidimensional arrays - Mảng đa chiều
23
Indexed arrays
Là mảng sử dụng chỉ số làm khóa truy cập
$tên_mảng = array(giaTri1, giaTri2, ...);
hoặc $tên_mảng[index] = giaTri;
Ví dụ 1:
$cars = array("Volvo", "BMW", "Toyota");
$cars[0] = "Volvo";
$cars[1] = "BMW";
$cars[2] = "Toyota";
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
24
Indexed arrays
Ví dụ 2:
$cars = array("Volvo", "BMW", "Toyota");
$arrlength = count($cars);
for($x = 0; $x < $arrlength; $x++) {
echo $cars[$x];
}
hoặc
foreach($cars as $car){
echo $car.” “;
}
25
Associative arrays
Là mảng sử dụng key (mô tả) làm khóa truy cập
$tên_mảng["key"] = value;
hoặc $tên_mảng = array('key' => value);
Ví dụ:
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";
echo "Peter is " . $age['Peter'] . " years old.";
26
Associative arrays
Dùng vòng lặp foreach để duyệt mảng
<?php
$age = array("Peter"=>"35", "Ben"=>"37",
"Joe"=>"43");
foreach($age as $x => $x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
27
Multidimensional arrays
Là các mảng có chứa các mảng lồng nhau khác.
Giả sử có bảng dữ liệu:
Tạo mảng:
Tên Cổ phiếu Bán
$cars = array
Volvo 22 18
(
array("Volvo",22,18), BMW 15 13
array("BMW",15,13), Saab 5 2
array("Saab",5,2),
Land Rover 17 15
array("Land Rover",17,15)
);
28
Multidimensional arrays
Truy cập các phần tử mảng
<?php
echo $cars[0][0].": In stock: ".$cars[0][1].", sold: ".$cars[0][2].".<br>";
echo $cars[1][0].": In stock: ".$cars[1][1].", sold: ".$cars[1][2].".<br>";
echo $cars[2][0].": In stock: ".$cars[2][1].", sold: ".$cars[2][2].".<br>";
echo $cars[3][0].": In stock: ".$cars[3][1].", sold: ".$cars[3][2].".<br>";
?>
29
Multidimensional arrays
Ví dụ:
$phims =array(
"Hành động" => array("Jonh Wick", "Người vận chuyển", "Nhiệm vụ
bất khả thi"),
"Viễn tưởng" => array("Endgame", "Infinity War"),
"Lãng mạn" => array("La La land"),
"Kịch tính" => array("Tên trộm và cô chủ nhà")
);
30
Hàm làm việc với kiểu dữ liệu
$b = null;
echo "b là " . is_null($b) . "<br>";
36
Toán tử
Toán tử số học + - * /%
Toán tử nối chuỗi .
Toán tử gán kết hợp += ++ -= *= /= %=
.=
Toán tử so sánh == === != <> > >=
< <=
Toán tử luận lý ! And && Or ||
Toán tử điều kiện ?: ??
Ép kiểu (kiểu dữ liệu)
37
Cấu trúc điều khiển
Điều kiện if
Điều khiển switch
Vòng lặp for, while, do.. while
Vòng lặp foreach
Từ khóa break, continue
38
if
if(điều kiện 1){
//công việc thực hiện nếu điều kiện đúng
}[elseif (điều kiện 2 {
//công việc thực hiện nếu điều kiện 1 sai, điều kiện
2 đúng
}else{
//công việc thực hiện nếu tất cả các điều kiện điều
sai
}]
39
Ví dụ if
if(isset($_GET["ma"]))
$ma=$_GET["ma"];
else
$ma=1;
40
switch
switch (n) {
case giá trị 1:
// công việc thực hiện nếu n = giá trị 1;
break;
case giá trị 2:
// công việc thực hiện nếu n = giá trị 2;
break;
[default:
// công việc thực hiện nếu tất cả giá trị không bằng n;
]
}
41
Ví dụ switch
switch ($r) {
case 0:
echo "Là số chẵn";
break;
case 1:
echo "Là số lẻ" ;
}
42
while
while (điều kiện) {
// công việc thực thi khi điều kiện đúng;
}
Ví dụ:
$x = 1;
while($x <= 5) {
echo $x. “-“;
$x++;
}
43
do while
do {
// công việc được làm lần đầu tiên và làm lại
khi điều kiện còn đúng
} while (điều kiện);
44
Ví dụ do while
$x = 1;
do {
echo $x.”<br>";
$x++;
} while ($x <= 5);
45
for
for (giá trị khởi động; điều kiện; giá trị tăng) {
// công việc được làm khi điều kiện còn đúng
}
Ví dụ:
for ($x = 0; $x <= 10; $x++) {
echo $x. “<br>";
}
46
foreach
foreach($mảng as $biến) {
// công việc thực thi
}
Ví dụ:
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
47
break
Có tác dụng kết thúc vòng lặp đột ngột
Ví dụ:
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
break;
}
echo "The number is: $x <br>";
}
48
continue
có tác dụng bỏ qua một bước lặp hiện tại và đi
tới bước lặp tiếp theo.
Ví dụ:
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
continue;
}
echo "The number is: $x <br>";
}
49
Lệnh in: echo/print
Ví dụ:
echo “Xin chào”;
echo “Chào”,”bạn”; //không áp dụng cho print
echo “<h1>Hello</h1>”;
$x=5;$y=2;
echo $x+$y;
echo “Giá trị x=“.$x;