Tải bản đầy đủ (.pdf) (32 trang)

Tổng hợp bài tập PHP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (803.69 KB, 32 trang )

Bài tập PHP
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 1 of 32
35/115 Phố Định Công – Hoàng Mai
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
Lời giới thiệu
Sách bài tập do tập thể giáo viên AiTi-Aptech thiết kế và được sử dụng như một phần không thể
tách rời khỏi giáo trình đang học của Aptech Ấn Độ với các học viên đang theo học tại Trung tâm.
Tập sách bài tập này là tài liệu lưu hành nội bộ, chỉ dành cho các học viên theo học tại Trung tâm
đào tạo Lập trình viên Quốc tế AiTi-Aptech. Mọi hình thức sao chép lại nội dung của sách là vi phạm
bản quyền và không tuân thủ Luật Sở hữu trí tuệ của Nhà nước Việt Nam.
AiTi-Aptech luôn mong mỏi tạo dựng một môi trường học tập tốt cho các bạn học viên theo học tại
trung tâm. Mọi ý kiến đóng góp về xây dựng Sách bài tập, cải tiến hệ thống xin gửi mail về
hoặc đường dây nóng (04) 6 64 8848. Chúng tôi sẽ ghi nhận và cải
tiến để có thể cung cấp cho các bạn một môi trường học tập ngày một tốt hơn.
“Sự nghiệp tương lai của các bạn là thành công của chúng tôi”
Đội thiết kế Sách bài tập
Việt Nam luôn thiếu Lập trình viên đẳng cấp Quốc tế
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 3 of 32
35/115 Phố Định Công – Hoàng Mai
Nội dung
Ch ng 1 Gi i thi u PHPươ ớ ệ 3
A.Tóm t t lý thuy tắ ế 3
1. Đ nh nghĩaị 3
2.Cách s d ng ử ụ 3
B. Bài t pậ 3
C.Tham kh oả 3
Ch ng 2 X lý Form trong PHPươ ử 3
A.Tóm t t lý thuy tắ ế 3
B. Bài t pậ 3


C.Tham kh oả 4
Ch ng 3 S d ng bi n và bi u th c trong PHPươ ử ụ ế ể ứ 4
A.Tóm t t lý thuy tắ ế 4
B. Bài t pậ 12
C.Tham kh oả 12
Ch ng 4 : Câu l nh đi u khi n và vòng l p trong PHPươ ệ ề ể ặ
12
A : Tóm t t lý thuy t ắ ế 12
B - Tham kh o ả 14
C - Bài t pậ 14
3- Dùng vòng l p gi i quy t bài toán : V a gà v a chó,bó l i cho tròn, 36 con, 100 chân ch n?ặ ả ế ừ ừ ạ ẵ 15
Ch ng 5 : S d ng hàm trong PHPươ ử ụ 15
A.Tóm t t lý thuy tắ ế 15
B.Tham kh oả 21
C.Bài t pậ 21
Ch ng 6 : Làm vi c v i m ng trong PHPươ ệ ớ ả
21
A.Tóm t t lý thuy tắ ế 21
B.Tham kh oả 24
C.Bài t pậ 25
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
Ch ng 7 : Thao tác v i CSDLươ ớ 25
A.Bài t pậ
25
Ch ng 8 . Cookie và Session trong PHPươ 27
A. Bài t pậ 27
Ch ng 9 : Email và OOPươ 29
A.Bài t pậ 29
Chương 1 Giới thiệu PHP
A.Tóm tắt lý thuyết

1. Định nghĩa
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại
mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho
mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối
ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian
xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành
một ngôn ngữ lập trình web phổ biến nhất thế giới.
2.Cách sử dụng
Mã php được lồng vào mã HTML
1. <html>
2. <head>
3. <title>Mã mẫu</title>
4. </head>
5. <body>
6. <?php
7. echo "Chào thế giới PHP!";
8. ?>
9. </body>
10. </html>
Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để
xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên
khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP.
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 5 of 32
35/115 Phố Định Công – Hoàng Mai
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp không
nhỏ của công ty Zend .
B. Bài tập
1.Cài đặt PHP và Apache web server bản mới nhất lên máy tính cá nhân
2. lưu file sau vào thư mục web của apache với tên vd1.php và chạy thử bằng trình duyệt:
<html><head><title>Testing page</title></head>

<body><?php echo "Hello, world!"; ?></body>
</html>
C.Tham khảo
1.Phpvietnam group />2.Diễn đàn phpviet http://www. php vn.org
3.Chuẩn viết mã php />Chương 2 Xử lý Form trong PHP
A.Tóm tắt lý thuyết
Dữ liệu của người dùng từ trình duyệt sẽ được gửi lên máy chủ dưới dạng từng cặp biến=giá_trị và
có thể đi theo 3 con đường khác nhau. Tuỳ theo từng con đường cụ thể, trên máy chủ ta cũng có
các cách khác nhau để lấy dữ liệu được gửi lên 3 con đường đó là: GET, POST và COOKIES.
1. Truyền dữ liệu thông qua phương thức GET
Dữ liệu gửi từ trình duyệt lên qua phương thức GET là phần dữ liệu được nhập trực tiếp theo sau
địa chỉ URL do trình duyệt gửi lên, được phân biệt với tên file script bằng dấu hỏi chấm (?). Ví dụ,
khi ta gõ vào trình duyệt địa chỉ URL sau:
/>Khi đó, trình duyệt sẽ gửi theo địa chỉ trên một cặp biến = giá trị, trong đó biến có tên là TOPIC_ID
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
và giá trị là 161 (TOPIC_ID=161).
Chúng ta cũng có thể đưa lên nhiều cặp biết=giá_trị bằng cách phân cách chúng bởi dấu &:
/>Với địa chỉ URL trên, chúng ta sẽ gửi lên 3 cặp biến=giá_trị theo phương thức GET, đó là:
method=Reply, TOPIC_ID=161 và FORUM_ID=20.
Khi trình duyệt gửi các thông tin này lên máy chủ, PHP sẽ tự động sinh ra một mảng có tên là
$HTTP_GET_VARS[] để nắm giữ tất cả các cặp biến và giá trị đó, trong đó, chỉ số của mảng chính
là một chuỗi mang tên của tên biến và giá trị của chỉ số đó chính là giá trị của biến do trình duyệt
gửi lên. Ví dụ, với địa chỉ URL sau:
/>Thì PHP sẽ tự động sinh ra một mảng $HTTP_GET_VARS có nội dung sau:
$HTTP_GET_VARS["method"] = "Reply" // tương ứng với cặp method=Reply
$HTTP_GET_VARS["TOPIC_ID"] = 161 // tương ứng với cặp TOPIC_ID=161
$HTTP_GET_VARS["FORUM_ID"] = 20 // tương ứng với cặp FORUM_ID=20
Sau đó, trong trang web của mình, các bạn có thể tha hồ sử dụng các biến này. Ví dụ, tôi làm một
đoạn chương trình sau để khi người dùng nhập vào biến user=sinh thì cho hiển thị "Hello, my
Boss", còn nếu biến user khác sinh thì "Hello " + giá trị của biến:

<?
// Hàm isset được sử dụng để kiểm tra xem một biến đã được thiết lập hay chưa
if (isset ($HTTP_GET_VARS["user"]))
{
if ($HTTP_GET_VARS["user"]=="sinh")
{
echo "Hello, my boss. Good morning!";
}
else
{
echo "Hello, " . $HTTP_GET_VARS["user"] . ". Good morning!";
}
}
else
{
echo "Hello, guest. How do you do?";
}
?>
OK, bây giờ hãy save lại. Giả sử tôi lưu với tên là welcome.php trong thư mục www. Mở trình duyệt
lên, gõ vào ô Address dòng chữ sau:
http://localhost/welcome.php?user=sinh
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 7 of 32
35/115 Phố Định Công – Hoàng Mai
Hãy xem kết quả hiển thị trên màn hình, sau đó thay chữ sinh bằng một cái tên gì đó xem kết quả
ra sao.
II. Phương thức POST
Post là phần dữ liệu được gửi qua các form HTML có method ="POST" (xin xem lại bài về HTML).
Để lấy các biến theo kiểu POST, PHP sẽ tự động sinh ra mảng có tên là $HTTP_POST_VARS[]. Mảng
này có chỉ số chính là tên của các phần tử trong form (các thẻ input, select có thuộc tính name)
và giá trị là nội dung giá trị do người sử dụng nhập vào các phần tử có tên tương ứng. Chẳng hạn

với mẫu biểu HTML sau:
<form method="POST">
<p>
User Name:<input type="text" name="T1" size="20"> </p>
<p>
Password:
<input type="password" name="T2" size="20"></p>
<p>Sex: <Select name ="sex">
<option value =1>Male </option>
<option value =0>Female </option>
</select>
</p>
<input type="submit" value="Gui di" name="B1">
</form>
Khi người dùng nhập user name (giả sử là Sinh), password (giả sử là 123456) và chọn sex là Male,
khi đó, mảng $HTTP_POST_VARS sẽ có các phần tử sau:
$HTTP_POST_VARS["T1"] = Sinh
$HTTP_POST_VARS["T2"] = 123456
$HTTP_POST_VARS["sex"] = 1
Sau khi lấy được các giá trị này rồi, các bạn có thể thoải mái sử dụng.
Đây là ví dụ một chương trình giải phương trình bậc nhất (cho nó đơn giản )
<form method="POST">
<p style="margin-top: 0; margin-bottom: 0">
Nhập a:<input type="text" name="a" size="20"></p>
<p style="margin-top: 0; margin-bottom: 0">Nhập b:<input type="text" name="b" size="20"></
p>
<p style="margin-top: 0; margin-bottom: 0">
<input type="submit" value="Tính" name="B1"></p>
</form>
<?php

$a=0;
$b=0;
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
if (isset ($HTTP_POST_VARS["a"]))
{
$a =$HTTP_POST_VARS["a"];
}
if (isset ($HTTP_POST_VARS["b"]))
{
$b =$HTTP_POST_VARS["b"];
}
if ($a<>0)
{
echo "<BR>Nghiem la: " . $b/$a;Chỗ này là -$b/$a
}
else
{
if ($b==0)
{
echo "<BR>Vo so nghiem";
}
else
{
echo "<BR>Vo nghiem";
}
}
?>
B. Bài tập
1.Viết chương trình cộng 2 số được nhập từ form
2.Viết trang login.php yêu cầu người dùng nhập username và password

Xác nhận username là admin và password là 123456 thì in ra dòng “Hello Admin”
Nếu sai thì yêu cầu đăng nhập lại .
C.Tham khảo
1. />Chương 3 Sử dụng biến và biểu thức trong PHP
A.Tóm tắt lý thuyết
KIỂU DỮ LIỆU
PHP hỗ trợ 8 kiểu dữ liệu chính:
• 4 kiểu dữ liệu vô hướng: boolean, integer, float (double), string.
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 9 of 32
35/115 Phố Định Công – Hoàng Mai
• 2 kiểu dữ liệu tổ hợp: array, object.
• 2 kiểu dữ liệu đặt biệc: resource, NULL.
Kiểu Boolean
Kiểu boolean mang 1 trong 2 giá trị TRUE (đúng) hoặc FALSE (sai). Ví dụ:
<?php
$a = TRUE;
$b = FALSE;

//phép toán == kiểm tra xem 2 biểu thức có giá trị bằng nhau hay không
$c = (1==2); //vì 1 khác 2 nên $c mang giá trị FALSE
$d = ("abc" == "def"); //$d mang giá trị TRUE
?>
"Ép" kiểu sang boolean: một số giá trị được chuyển đổi thành FALSE trong các biểu thức boolean nếu
như giá trị đó là:
• số nguyên 0,
• số thực 0.0,
• chuỗi rỗng "", hoặc chuỗi "0",
• mảng rỗng (không chứa phần tử nào) Array(),
• đối tượng không chứa phần tử nào (chỉ đúng với PHP4),
• giá trị NULL

Các giá trị còn lại sẽ được chuyển đổi thành TRUE.
Kiểu Integer
Kiểu integer mang các giá trị số nguyên , -2, -1, 0, 1, 2, Trên hầu hết các hệ thống, kiểu số nguyên có
kích thước 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, tương đương với 83 ở hệ cơ số 10
$d = 0x1F; //giá trị 1F ở hệ cơ số 16, tương đương với 31 ở hệ cơ số 10
?>
Kiểu Float (Double)
Kiểu float (hoặc double) là kiểu số thực, có thể mang bất cứ giá trị số thực nào. Trên hầu hết các hệ
thống, kiểu số thực có kích thước 64 bit. Ví dụ:
<?php
$a = 1.234;
$b = 1.2e3; //= 1.2*10^3 = 1200
$c = 7E-10; //= 7*(10^-10) = 0.0000000007
$d = -1.23;
?>
Kiểu String
Kiểu string lưu giữ 1 chuỗi ký tự, mỗi ký tự có kích thước 1 byte. Nội dung string được đặt giữa 2 dấu
nháy, nháy đơn (') hoặc nháy kép ("). Ví dụ
<?php
$a = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn';
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
$b = "Đây là 1 chuỗi được đặt giữa dấu nháy kép";
$c = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn với "vài dấu nháy kép ở giữa"';
$d = "Đây là 1 chuỗi được đặt giữa dấu nháy kép với 'vài dấu nháy đơn ở giữa'";
?>
Nếu bạn muốn sử dụng dấu nháy đơn ở trong 1 chuỗi được bọc bởi dấu nháy đơn, hoặc sử dụng dấu

nháy kép đặt giữa chuỗi được bọc bởi dấu nháy kép thì bạn để thêm ký tự \ (gọi là ký tự escape) ở phía
trước. Ví dụ:
<?php
$a = 'Dấu \'nháy đơn\' ở giữa chuỗi'; //$a mang giá trị: Dấu 'nháy đơn' ở giữa
chuỗi
$b = "Dấu \"nháy kép\" ở giữa chuỗi"; //$b mang giá trị: Dấu "nháy kép" ở giữa
chuỗi
$c = "Dùng ký tự \\ ở giữa câu \\ thì sao?"; //$c mang giá trị: Dùng ký tự \ ở
giữa câu \ thì sao?
?>
Khi sử dụng dấu nháy đôi để bọc chuỗi, ngoài \', \" và \\, PHP có thể nhận dạng thêm một số chuỗi ký tự
escape đặt biệc nữa:
• \n: ký tự xuống hàng LF (ký tự có mã 10 trong bảng mã ASCII)
• \r: ký tự về đầu dòng CR (ký tự có mã 13 trong bảng mã ASCII)
• \t: ký tự tab (ký tự có mã 9 trong bảng mã ASCII)
• \$: ký tự $
• \ooo: (với o là 1 chữ số từ 0 đến 7) biểu 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 tương đương 65 trong hệ cơ số 10, ký tự ASCII
có mã 65 chính là ký tự 'A').
• \xhh: (với h là 1 chữ số từ 0 đến 9 hoặc 1 chữ cái từ A tời F) biểu 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 chính là 65 trong hệ cơ số 10).
Ngoài ra, nếu bạn để 1 biến vào giữa 1 chuỗi được bọc với dấu nháy kép, giá trị của biến sẽ được thay
thế vào trong chuỗi. ví dụ:
<?php
$a = 1;
$b = 2;
$c = 3;
$d = "$a $b $c"; //$d sẽ mang giá trị là chuỗi "1 2 3"
?>

Kiểu Array
Array là một mảng gòm nhiều phần tử. Array được tạo qua lệnh Array. Ví dụ:
<?php
$a = Array(1,2,3);
Lúc này $a sẽ là 1 mảng gồm 3 phần tử số nguyên là 1, 2 và 3

Các phần tử trong mảng $a được tạo ở trên sẽ được đánh số thứ tự từ 0, 1 cho đến 2
Để truy cập tới từng phần tử của $a
echo $a[0]; //in ra giá trị 1
echo $a[2]; //in ra giá trị 3

$a[1] = 5; //giờ đây $a = Array(1,5,3)
?>
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 11 of 32
35/115 Phố Định Công – Hoàng Mai
Mảng còn có thể được tạo thành bởi các cặp (khoá, giá trị). Ví dụ:
<?php
$a = Array(
"khoá 1" => "giá trị 1",
"khoá 2" => "giá trị 2",
"khoá 3" => "giá trị 3"
);
echo $a["khoá 1"]; //in ra: giá trị 1

$b = Array(
"a" => "Nguyễn",
"b" => "Bá",
"c" => "Thành"
);
echo $b["a"]; //in ra: Nguyễn


$b["a"] = "Nguyen";
$b["b"] = "Ba";
$b["c"] = "Thanh";
//giờ đây $b = Array("a" => "Nguyen", "b" => "Ba", "c" => "Thanh")
?>
Kiểu Object
Kiểu object (đối tượng) lưu giữ 1 bản thể (instance) của 1 lớp (class). Ta sẽ tìm kiểu kỹ thêm về kiểu
object trong phần Lập trình hướng đối tượng với PHP.
Kiểu Resource
Kiểu resource (tài nguyên) được sử dụng bởi các hàm đặt biệc của PHP (ví dụ hàm mysql_connect sẽ trả
về kiểu resource). Ta sẽ tìm hiểu kỹ hơn về kiểu resource trong các bài viết khác.
Kiểu NULL
Đây là 1 giá trị đặt biệc, báo cho PHP biết rằng 1 biến nào đó chưa/không mang giá trị nào cả. Ví dụ:
<?php
$a = 1; //$a mang giá trị 1

$a = NULL; //bây giờ $a không mang giá trị nào cả

$a = 2; //giờ đây $a mang giá trị 2

//hàm unset sẽ làm cho 1 biến có giá trị là NULL
unset($a); //giừo $a lại là NULL
?>
BIẾN
Có lẽ hơi muộn khi tới tận bây giờ ta mới tìm hiểu tới biến trong PHP. Một biến trong PHP được bắt đầu
bằng ký tự $ và đi theo ngay sau đó là tên của biến. Ví dụ:
$a: biến có tên là a
$abc123: biến có tên là abc123
Tuy nhiên vẫn còn nhiều điều thú vị về biến đang chờ ta khám phá.

Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
• Biến trong PHP phân biệt chữ hoa và chữ thường. Tức $Abc và $abc là 2 biến hoàn toàn khác
nhau.
• Tên biến chỉ được bao gồm các ký tự chữ cái (a z hoặc A Z), chữ số (0 9) và ký tự gạch dưới
(_); nhưng tên biến không được bắt đầu bằng ký tự gạch dưới hoặc chữ số. Các tên biến sau là
không hợp lệ!
$_abc Không hợp lệ! bắt đầu bằng ký tự gạch dưới
$1abc Không hợp lệ! bắt đầu bằng chữ số
$nguyễn Không hợp lệ! tên biến có ký tự đặt biệc (ễ)
Tầm vực (scope) của biến
Tầm vực của biến là ngữ cảnh mà ở trong đó biến được định nghĩa. Ví dụ:
<?php
$a = 1; //tầm vực của biến $a bắt đầu từ đây

include 'b.php'; trải dài tới bên trong file b.php

//tới cuối file vẫn còn hợp lệ
?>
Tuy nhiên khi gặp 1 hàm do người dùng định nghĩa, bên trong hàm, biến cục bộ sẽ được dùng thay vì
biến toàn cục. Ví dụ:
<?php
$a = 1; //biến toàn cục

//hàm do tự tạo
function test() {
echo $a;
} //end test
?>
Ở ví dụ trên, câu lệnh echo $a sẽ không in ra giá trị nào hết vì câu lệnh này nằm bên trong hàm test nên
$a ở đây được hiểu là biến cục bộ $a của hàm (mà hàm này ta chưa khai báo biến cục bộ nào cả).

Để truy cập tới các biến toàn cục ở bên trong 1 hàm do người dùng định nghĩa, ta có thể dùng 1 trong 2
cách sau: Cách 1:
<?php
$a = 1; //biến toàn cục

//hàm do tự tạo
function test() {
//từ khoá global báo cho php biết là bên trong hàm test
//bây giờ ta sẽ dùng biến toàn cục $a
global $a;
echo $a; //in ra giá trị: 1
} //end test
?>
Cách 2:
<?php
$a = 1; //biến toàn cục

//hàm do tự tạo
function test() {
echo $GLOBALS['a']; //in ra giá trị: 1
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 13 of 32
35/115 Phố Định Công – Hoàng Mai
} //end test
?>
BIỂU THỨC
Bi u th c là n n t ng quan tr ng c a PHP. H u nh m i th b n ghi trong file php đ u là bi u th c. Nói m tể ứ ề ả ọ ủ ầ ư ọ ứ ạ ề ể ứ ộ
cách đ n gi n, b t c cái gì mang 1 giá tr nào đó đ u có th là 1 bi u th c. Ta xét câu l nh đ n gi n sau:ơ ả ấ ứ ị ề ể ể ứ ệ ơ ả
$a = 5;
đây 5 là m t bi u th c, k t c a c a bi u th c này là giá tr 5, và k t qu này đ c gán cho bi n $a. Ở ộ ể ứ ế ủ ủ ể ứ ị ế ả ượ ế $b = $a;
đây $a l i là 1 bi u th c, giá tr c a $a đ c gán cho bi n $b.Ở ạ ể ứ ị ủ ượ ế

Bi u th c trong PHP có th ph c t p h n th , ví d :ể ứ ể ứ ạ ơ ế ụ
$a = 1;
$b = 2;
$c = 3;
$d = $a + $b + $c;
B. Bài tập
1.Viết chương trình tính giai thừa của một số nhập vào từ form

C.Tham khảo
1. />Chương 4 : Câu lệnh điều khiển và vòng lặp trong PHP
A : Tóm tắt lý thuyết
1- Vòng lặp While.
Vòng lặp While là vòng lặp đơn giản. vòng lặp này chỉ thực thi các khối lệnh bên
trong nó khi biểu thức điều kiện trả về giá trị True.
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
While( biểu thức điều kiện)
{
Khối lệnh được thực thi nếu biểu thức điều kiện trả về giá trị True
}
Khối lệnh được thực thi nếu biểu thức điều kiện trả về giá trị False
2- Vòng lặp Do-While
Vòng lặp này không khác vòng lặp While là mấy. Vòng lặp này thường được sử dụng
nếu bạn muốn khối lệnh trong vòng lặp được thực hiện ít nhất là 1 lần
Do
{
Khối lệnh được thực thi nếu biểu thức điều kiện trả về giá trị True
}
While( biểu thức điều kiện)
Khối lệnh được thực thi nếu biểu thức điều kiện trả về giá trị False
3- Vòng lặp For

Khác với 2 vòng lặp trên. vòng lặp For dùng để chỉ định khối lệnh trong vòng lặp
được thực hiện bao nhiêu lần.
for( giá trị ban đầu ; Biểu thức điều kiện ; Tăng giá trị ban đầu)
{
Khối lệnh được thực thi nếu biểu thức điều kiện trả về giá trị True
}
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 15 of 32
35/115 Phố Định Công – Hoàng Mai
4- Câu lệnh Break
Đôi lúc bạn muốn kết thúc sự thực thi của một vòng lặp đang diễn ra. Đối với mục
đích này PHP cung cấp câu lệnh break.
Break n;
Câu lệnh trên sẽ ngắt từ n. n là số vòng lặp trong cùng nhất. như vậy break 1 sẽ tương
đương với break.
5- Câu lệnh Continue
Câu lệnh này thường được sử dụng trong trường hợp trong số các vòng lặp. Bạn muốn
dừng thực thi khối lệnh trong 1 vòng lặp nào đó rồi chuyển sang vòng lặp kế tiếp.
6- Câu lệnh Exit
Câu lệnh này giúp bạn thoát ra khỏi vòng lặp và chuyển sang khối lệnh kế tiếp
B - Tham khảo
C - Bài tập
1- Nhập 1 số bất kỳ từ bàn phím và dùng vòng lặp để đưa ra một bảng có số dòng và
số thự tự bằng số đã nhập vào. Bảng trình bày giống bảng sau.
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
STT Tên sản phẩm Số lượng Đơn giá Thành tiền
1
2
3
Tổng
2- Dùng vòng lặp vẽ một bảng bất kỳ với số dòng và số cột nhập từ bàn phím.

3- Dùng vòng lặp giải quyết bài toán : Vừa gà vừa chó,bó lại cho tròn, 36 con, 100
chân chẵn?
4- Viết chương trình tính tổng của dãy sau :
1 + 2 + 3 + … + n (n nhập từ bàn phím)
Chương 5 : Sử dụng hàm trong PHP
A. Tóm tắt lý thuyết
1- Giới thiệu về Hàm
Khi bạn có một đoạn script hay một chức năng mà bạn có thể sử dụng nhiều lần
trong một chương trình. Nhưng bạn không muốn viết đi viết lại nhiều lần thì bạn
hãy nghĩ đến hàm(Function). Hàm trong PHP có 2 loại chính.
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 17 of 32
35/115 Phố Định Công – Hoàng Mai
+ Loại thứ 1: Là những Hàm đã được xây dựng sẵn trong PHP.
+ Loại thứ 2 : Là những hàm mà lập trình viên tự xây dựng. Mục đích chính
là áp dụng các hàm đó cho công việc của mình. Lập trình viên giỏi, nhiều kinh
nghiêm, làm việc lâu năm là người tự trang bị cho mình rất nhiều những hàm tự
xây dựng. Những hàm này được đúc kết từ các kinh nghiệm làm việc của lập trình
viên trong các Project
2- Hàm trong PHP
Hàm đã được xây dựng sẵn trong PHP. Các hàm này có mấy loại chính như sau:
+ Mathematical Function
+ String Function
+ Date and Time Function
+ Error Handling Function
+ Database Function
+ Array Function
+ Mail Function
Bạn có thể tham khảo thông tin về các Hàm loại này trên trang web php.net
3- Hàm tạo bởi người dùng
a- Cú pháp định nghĩa hàm

Function ten_ham()
{
Khối lệnh của hàm
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
}
VD
<?php
Function tinh_tong()
{
$a=100;$b=200;
$c=$a+$b;
Echo “Tong cua 100 và 200 là : $c”;
}
tinh_tong();
?>
b- Định nghĩa hàm với đối số
Function ten_ham(doi_so1, doi_so2, …)
{
Khối lệnh của hàm
}
Đối số của hàm được chia ra làm 3 loại
- Đối số mặc định
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 19 of 32
35/115 Phố Định Công – Hoàng Mai
Đối số loại này cho phép bạn chỉ định một giá trị mặc định cho đối số của
hàm. Các giá trị mặc định của bạn phải là một giá trị không đổi.
VD :
Function mac_dinh(&$num, $increment = 1)
{
$num += $increment

}
$num =4;
mac_dinh($num);
mac_dinh($num,3);
- Đối số theo giá trị
Đối số loại này có thể là bất kỳ biểu thức hợp lệ nào. Giá trị của nó sẽ được
gán cho biến ở trong hàm.
- Đối số tham chiếu
Việc chuyển theo tham chiếu bắt buộc đối số phải là một biến. Thay vì giá trị
của một biến được chuyển đi thì biến tương ứng trong hàm sẽ trực tiếp tham
chiếu đến biến được chuyển bất cứ khi nào được sử dụng
VD
Function tinh(&$n)
{
$n=$n*$n;
}
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
$number = 4;
tinh($number);
print $number;
Dấu & đứng trước $n trong các đối số hàm cho PHP biết rằng cần chuyển nó
theo tham chiếu và kết quả của cuộc gọi hàm này la $number bình phương.
c- Giá trị trả lại của hàm
Trong này ta sử dụng câu lệnh return để cho ra giá trị từ hàm hay nói cách khác
một bản sao của giá trị được tạo và được trả về nơi gọi hàm.
VD
<?php
Function tinh_luong($luongcoban)
{
$luong = 0.25*$luongcoban;

Return $luong;
}
$luongcoban = 500;
$B = tinh_luong();
Echo $B;
d- Đệ quy
Đệ quy là một phương thức gọi hàm P ở ngay bên trong hàm P mà bạn tạo ra. Mục
tiêu của đệ quy là đưa bài toán về một bài toán cùng dạng nhưng độ phức tạp giảm dần
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 21 of 32
35/115 Phố Định Công – Hoàng Mai
cho đến khi đạt đến những bài toán cơ bản, dễ giải quyết. Một phương thức đệ quy được
chia làm 2 phần
+ Phần neo : Phần này được thực hiện khi công việc quá đơn giản , có thể trả lại
kết quả trực tiếp chứ không cần 1 phương thức con nào cả.
+ Phần đệ quy : Trong trường hợp phương thức chưa thể giải bằng phần neo, cần
xác định phương thức con và gọi đệ quy giải các phương thức con đó, khi đã có
kết quả trả về của những phương thức con thì phối hợp kết quả của chúng lại để trả lại kết
quả của phương thức ban đầu
Các đặc điểm của phương thức đệ quy :
+ Số lần gọi các phương thức là chiều sâu của đệ quy
+ Phương thức đệ quy có thể dẫn tới tràn vùng nhớ stack
+ Mọi phương thức đệ quy phải có điều kiện kết thúc đệ quy
VD
Tính giai thừa
<?php
$A=4;
function giai_thua($A)
{
If($A <= 1)
{

Return 1;
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
}
Else
{
Return $A*giai_thua($A-1);
}
}
Echo “Giai thua của 4 là : “;
$B=giai_thua($A);
Echo $B;
?>
B. Tham khảo
C. Bài tập
1, Sử dụng hàm đệ quy viết chương trình tính dãy Fibonacci ở vị trí thứ n. Với số n
nhập từ bàn phím. n chỉ nhận giá trị từ 1 cho đến 15
2, Viết chương trình nhập vào một chuỗi ký tự bất kỳ. Rồi cho biết tổng số ký tự trong
chuỗi đó là chẵn hay lẻ.
3, Sử dụng hàm viết chương trình tính tổng của những dãy sau :
a, 1 + 2 + 3 + … + n (n nhập từ bàn phím)
b, 1
1
+ 2
2
+ 3
3
+ … + n
n
(n nhập từ bàn phím, chỉ nhận giá trị từ 1 - 6)
c, 1! + 2! + 3! + … + n! (n nhập từ bàn phím, chỉ nhận giá trị từ 1 - 9)

Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 23 of 32
35/115 Phố Định Công – Hoàng Mai
Chương 6 : Làm việc với mảng trong PHP
A. Tóm tắt lý thuyết
1- Định nghĩa mảng
Mảng là kiểu dữ liệu chứa một tập các biến đã được đặt tên và có cùng kiểu.
Mỗi biến trong mảng gọi là một thành phần của mảng. Để tham chiếu đến
một thành phần của mảng phải sử dụng chỉ mục của thành phần đó.
2- Cú pháp tạo mảng sử dụng hàm array()
$array_name = array([key => ] value, [key => ] value)
key : khóa của mảng. khóa có thể là số hoặc là chuỗi
value : là giá trị của khóa tương ứng.
Ví dụ về khởi tạo mảng.
array(1,2,3) giống như array(0 => 1, 1 => 2 , 2 => 3)
array(1=>”ONE”, “TWO”, “THREE”) tương đương với
array(1=>”ONE”, 2=> “TWO”, 3=> “THREE”)
Với những mảng có khóa là chuỗi thì cần phải để khóa ở trong dấu ngoặc
kép.VD :
$department = array(
“a” => ‘Finance’,
“b” => ‘Sales’,
“c” => ‘HR’,
“d” => ‘Purchase’)
echo $department[“c”] displays:
Sách bài tập PHP AiTi-Aptech “Kiến tạo tương lai” Tài liệu lưu hành nội bộ
HR
3- Truy cập các thành phần của mảng
Để truy cập vào các thành phần của mảng ta sử dụng cú pháp sau :
$array_name[key] = “element_value”;
VD :

$department = array(
1 => ‘Finance’,
2 => ‘Sales’,
3 => ‘HR’,
4 => ‘Purchase’)
echo $department[1]
Ví dụ trên sẽ hiện thị kết quả là Finance
4- Ghép mảng
Để có thể ghép được mảng ta sử dụng hàm array_merge()
$merged_array_name = array_merge($first_array, $second_array);
VD :
$ITdept = array(
0 => “Testing”,
1 => “Training”);
$SalesPurcahsedept = array(
Trung tâm đào tạo Lập trình viên Quốc tế AiTi-Aptech Page 25 of 32
35/115 Phố Định Công – Hoàng Mai

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×