Download as pdf or txt
Download as pdf or txt
You are on page 1of 55

PHP

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

gettype is_string isset


is_interger is_array is_null
is_double is_object empty
31
gettype()
Trả về kiểu dữ liệu của biến
Ví dụ:
$a = 3;
echo gettype($a) . "<br>"; //interger
$b = 3.2;
echo gettype($b) . "<br>"; //float
$c = "Hello";
echo gettype($c) . "<br>"; //string
$g = false;
echo gettype($g) . "<br>"; //boolean
32
Kiểm tra các kiểu dữ liệu
is_kiểu_dữ_liệu(): kiểm tra biến có thuộc kiểu dữ
liệu nào đó. Trả về true nếu đúng.
Ví dụ:
$a = 32;
echo "a là " . is_float($a) . "<br>";
$b = 32.5;
echo "c là " . is_float($b) . "<br>";
$c =“Hello”;
echo "c là " . is_string($c) . "<br>";
33
isset(), empty()
isset() empty()
Xác định nếu một Trả về false nếu
biến được đặt và biến tồn tại và có
không phải là giá trị khác rỗng,
NULL. khác 0
Trả về true chỉ khi Kiểm tra biến
biến không phải là rỗng: true
null.
34
Ví dụ isset(), empty()
$a = -1; $a = -1;
$b=0; $b=0;
$d=null; $d=null;
var_dump(empty($a)); //false var_dump(isset($a));//true
var_dump(empty($b)); //true var_dump(isset($b)); //true
var_dump(empty($c)); //true var_dump(isset($c));//false
var_dump(empty($d)); //true var_dump(isset($d)); //false
35
is_null()
Trả về true nếu biến null
Đối ngược hàm isset()
Ví dụ:
$a = 0;
echo "a là " . is_null($a) . "<br>";

$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;

print “Xin chào”;


print ““<h1>Hello</h1>”;
print $x+$y;
print “Giá trị x=“.$x;
50
print_r
print_r(variable, return): trả về thông
tin của biến, nếu return=true không in,
ngược lại in thông tin ra màn hình.
Ví dụ:
$a = array("red", "green", "blue");
print_r($a);
$c=2;
echo print_r($c,true);
51
var_dump
var_dump(var1, var2, ...);
Hàm kết xuất thông tin về một hoặc nhiều
biến. Thông tin chứa kiểu và giá trị của các
biến.
Ví dụ:
$a = 32;
echo var_dump($a); //int(32)
52
printf
printf(format,arg1,arg2,…): xuất dữ liệu theo
chuỗi định dạng
Ví dụ:
$version = 7;
$str = "JAVATPOINT";
printf("Chúng tôi học PHP %.2f từ
%s.",$version,$str);
53
Hàm
Cú pháp:
function tên_hàm([danh sách các tham số]){
//thân hàm
[return giá trị trả về]
}
Ví dụ:
function greeting($name) {
echo "Xin chào bạn $name";
}
54
Ví dụ hàm
function equation($a, $b, $c){
$d = $b*$b - 4*$a*$c;
if($d < 0) return false;
return [
'x1' => (-$b + sqrt($d))/(2*$a),
'x2' => (-$b - sqrt($d))/(2*$a)
];
}
55
Hàm
Truyền tham chiếu
function addFive(&$number) {
$number += 5;
return $number;
}
$a = 10;
echo addFive($a);
echo $a;

You might also like