Bài giảng Lập trình trang web động - Chương 2: PHP căn bản - Nguyễn Thị Quỳnh Hoa

pdf 74 trang Gia Huy 17/05/2022 2280
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình trang web động - Chương 2: PHP căn bản - Nguyễn Thị Quỳnh Hoa", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_lap_trinh_trang_web_dong_chuong_2_php_can_ban_nguy.pdf

Nội dung text: Bài giảng Lập trình trang web động - Chương 2: PHP căn bản - Nguyễn Thị Quỳnh Hoa

  1. TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI Chương 2 PHP căn bản Nguyễn thị Quỳnh Hoa - Khoa CNTT- ĐH Sư phạm Hà Nội 1
  2. NỘI DUNG • Chú thích, hằng, biến trong PHP • Các kiểu dữ liệu • Các kiểu toán tử • Cấu trúc điều khiển • Hàm và cách sử dụng hàm trong PHP • Phạm vi biến • Làm việc với file trong PHP 2
  3. Chú thích trong PHP • 3
  4. Hằng trong PHP 1) Hằng có sẵn trong PHP : 2) Hằng do chúng ta tự định nghĩa : Cú pháp : define(‘tên hằng’,’giá trị’); 4
  5. Biến trong PHP Cú pháp : $Tên_biến Lưu ý : -Biến phải bắt đầu bằng dấu $ sau đó là các ký tự chữ cái hoặc dấu gạch dưới -Không được chứa dấu cách trong biến -Không được đặt tên biến bắt đầu bằng chữ số -Biến phân biệt chữ hoa chữ thường -Biến không được trùng với hàm có sẵn trong PHP Ví dụ 5
  6. Biến trong PHP • Biến động (biến biến): Cho phép sử dụng giá trị của biến làm tên biến khác 6
  7. Các kiểu dữ liệu • Kiểu dữ liệu đơn : Có 4 kiểu − Số nguyên − Số thực − Chuỗi − Logic • Kiểu dữ liệu đa giá trị : Có 2 kiểu − Mảng − Đối tượng • Kiểu dữ liệu tài nguyên : Sử dụng khi tương tác dữ liệu • Kiểu dữ liệu rỗng : NULL 7
  8. Kiểu số (INT) • Kích thước của kiểu INT là 32 bit nên có dải biểu diễn : -231 đến 231 -1 8
  9. Kiểu số thực (Float) • Từ 1.7E-308 đến 1.7E+308 • Ví dụ : $a = 0.17; • $b= 12.38; 9
  10. Kiểu chuỗi (String) • Giới hạn trong dấu nháy đơn ‘ ‘ hoặc nháy kép “ “ • Dùng dấu nháy đơn khi chuỗi dữ liệu không chứa các ký tự đặc biệt và không có nhu cầu sử dụng các ký tự chuỗi đặc biệt • Sử dụng dấu nháy đôi khi chuỗi cần sử dụng các ký tự đặc biệt hoặc muốn khai báo tên biến vào mà ko cần nối chuỗi • Ký tự đặc biệt : − \n:In chuỗi với một dòng − \t : In chuỗi với một tab − \r : Trở về đầu dòng • Ví dụ : 10
  11. Nối chuỗi • Trong PHP, khi bạn cần nối chuỗi dữ liệu với một biến, hàm hoặc hằng thì sử dụng dấu chấm (.) hoặc dấu (,) để nối lại với nhau • Ví dụ 11
  12. Kiểu Logic (Booleans) • Có 2 trạng thái : Hoặc True hoặc False 12
  13. Kiểu mảng (Array) • KHAI BÁO : $mang=array(key=>value); • PHÂN LOẠI MẢNG : 1) Mảng tuần tự 2) Mảng không tuần tự 3) Mảng đa chiều 13
  14. Mảng tuần tự • Là mảng có key là chữ số được bắt đầu bằng 0 và sắp xếp tăng dần • Thêm phần tử vào mảng 14
  15. Mảng không tuần tự • Là mảng mà key của nó không sắp xếp theo thứ tự, nó là ký tự chữ • Thêm phần tử vào mảng 15
  16. Mảng đa chiều • Là một mảng lớn có nhiều mảng con nằm trong nó 16
  17. Các hàm sử dụng trong mảng Sizepf($arr) In ra tổng số phần tử có bên trong mảng Array_values($arr) Tạo ra một mảng mới chứa toàn bộ giá trị của mảng đó Array_keys($arr) Bóc toàn bộ key trong mảng bỏ vào một mảng mới Each($arr) Để in ra một cặp key và giá trị của nó, thường dùng với vòng lặp while Array_reverse($arr) Đảo ngược thứ tự giá trị trong mảng Array_merge($arr1,$arr2, Gộp các dữ liệu của hai hoặc nhiều ) mảng lại với nhau 17
  18. Các hàm sắp xếp mảng Sort() Xếp mảng theo thứ tự tăng dần Rsort() Xấp mảng theo thứ tự giảm dần Asort() Xếp mảng theo thứ tự tăng dần, dựa vào giá trị Ksort() Xếp mảng theo thứ tự tăng dần dựa vào key Arsort() Xếp mảng theo thứ tự giảm dần, dựa vào giá trị Krsort() Xếp mảng theo thứ tự giảm dần, dựa vào key 18
  19. Ép kiểu và kiểm tra kiểu 19
  20. Ép dữ liệu sang kiểu INT Cú pháp :(int) $Tên_biến • Hàm Is_int ($ Tên_bi ế n ) kiểm tra xem một biến có phải là kiểu INT hay không • Ví dụ : • Kết quả ` 20
  21. Câu hỏi? • 127.0.0.1 và ? • Những thành phần cần thiết nào tạo nên một trang web động? 21
  22. Các toán tử 1. Toán tử gán 2. Toán tử số học 3. Toán tử so sánh 4. Toán tử logic 5. Toán tử kết hợp 22
  23. Toán tử gán 23
  24. Toán tử số học Tên Ký hiệu Mô tả Ví dụ Phép cộng + Cộng hai số $a+$b Phép trừ - Trừ hai số $a-$b Phép nhân * Nhân hai số $a*$b Phép chia / Chia hai số $a/$b Phép chia lấy dư % Chia lấy dư $a%$b Ví dụ : Kết quả 24
  25. Toán tử kết hợp (Tăng giảm) ++ $a++ => $a=$a+1; $a => $a=$a-1; += $a+=$b => $a=$a+$b; -= $a-=$b => $a=$a-$b; *= $a*=$b => $a=$a*$b; /= $a/=$b => $a=$a/$b; Ví dụ : Kết quả 25
  26. Toán tử quan hệ Tên Ký hiệu Mô tả Ví dụ So sánh bằng == Hai số bằng $a==$b nhàu So sánh khác != Hai số khác nhau $a!=$b So sánh lớn hơn > So sánh lớn hơn $a>$b So sánh nhỏ = Lớn hơn hoặc $a>=$b hoặc bằng bằng So sánh nhỏ hơn <= Nhỏ hơn hoặc $a<=$b hoặc bằng bằng 26
  27. Toán tử quan hệ 27
  28. Toán tử luận lý Tên Ký hiệu Mô tả Ví dụ Phép và && hoặc and Cả hai vế phải thỏa $a>$b && mãn điều kiện $a>$c Phép hoặc || hoặc or Một trong hai thỏa $a>$b || $a>$c mãn điều kiện là được Phủ định ! Phủ định một điều $a!=b kiện, giá trị nào đó 28
  29. ĐỘ ƯU TIÊN TOÁN TỬ LUẬN LÝ • Theo thứ tự sau : NOT->AND->OR • Ví dụ Xét biểu thức sau có giá trị là gì? • 10>7&&!(-4>9)||100==100 • Viết đoạn code trên 29
  30. ĐỘ ƯU TIÊN CÁC TOÁN TỬ • Bảng thứ tự ưu tiên của toán tử số học • Ví dụ : -29*5-66 • == và === khác nhau ntn? 30
  31. Cấu trúc điều khiển • Cấu trúc rẽ nhánh • Cấu trúc vòng lặp 31
  32. Câu điều kiện? • Viết cho bất kỳ ngôn ngữ nào • Thực hiện những hành động khác nhau trong những điều kiện khác nhau 32
  33. CẤU TRÚC RẼ NHÁNH TRONG PHP • Câu điều kiện IF ELSE • Câu điều kiện SWITCH 33
  34. CÂU ĐK IF • IF • IF ELSE • IF ELSE IF ELSE 34
  35. IF • Kết quả • Bài tập : 1. Viết đoạn mã PHP xem một số có phải là số chẵn hay ko 2. Kiểm tra xem biến nhập vào có phải kiểu string hay ko 35
  36. IF ELSE • Bài tập : Viết đoạn mã PHP xem một số có phải là số chẵn hay ko • Ví dụ • Kết quả • Ví dụ : Kiểm tra xem số nhập vào là số âm hay không • Ví dụ : Kiểm tra mối quan hệ của 2 số nhập vào 36
  37. SWITCH • SWITCH ($variable) { Ví dụ : case $value_1; Viết CT nhập vào một //chuỗi câu lệnh 1 số, dùng lệnh rẽ break; nhánh switch kiểm tra case $value_2: số đó nếu: //chuỗi câu lệnh 2 •Bằng 0 thì xuất dòng break; lênh “Số không” default : •Bằng 2 thì xuất dòng lệnh “Số hai” //chuỗi câu lệnh •Các số còn lại thì xuất break; dòng lệnh “Không tìm } thấy” 37
  38. SWITCH 38
  39. BÀI TẬP • Viết đoạn code thể hiện thời khóa biểu của sv 39
  40. VÒNG LẶP • Vòng lặp là gì? − Là một mã lệnh trong đó chương trình được thực hiện lặp đi lặp lại nhiều lần cho đến khi thỏa mãn điều kiện nào đó • Các loại vòng lặp − Vòng lặp for − Vòng lặp while và do while − Vòng lặp foreach 40
  41. VÒNG LẶP FOR • $bien_dieu_khien: gán giá trị ban đầu hoặc có sẵn • $bieu_thuc_dieu_kien: xác định điều kiện thoát khỏi vòng lặp • $bieu_thuc_thay_doi_bien_dieu_khien: xác định biến điều khiển sẽ bị thay đổi ntn sau mỗi lần lặp 41
  42. VÒNG LẶP FOR • $bien_dieu_khien: $x=0 • $bieu_thuc_dieu_kien: $x<=20 • $bieu_thuc_thay_doi_bien_dieu_khien: $x++ 42
  43. VÒNG LẶP FOR LỒNG NHAU 43
  44. VÒNG LẶP FOR KẾT HỢP VỚI MẢNG 44
  45. VÒNG LẶP FOR KẾT HỢP VỚI MẢNG 45
  46. VÒNG LẶP WHILE • $condition là điều kiện để dừng vòng lặp 46
  47. VÒNG LẶP WHILE • Phân tích ví dụ sau : 47
  48. VÒNG LẶP DO WHILE • $condition là điều kiện để dừng vòng lặp 48
  49. VÒNG LẶP DO WHILE • Viết đoạn mã in ra màn hình các số từ 100 đến 200 bằng 3 cách (3 vòng lặp) 49
  50. VÒNG LẶP WHILE DO LỒNG NHAU 50
  51. VÒNG LẶP WHILE, DO WHITE TRONG TRUY XUẤT MẢNG 51
  52. FOREACH • Hoặc • $array là mảng cần lặp • $key là số chỉ mục • $value là giá trị của phần tử ở vị trí $key 52
  53. FOREACH 53
  54. FOREACH 54
  55. LỆNH BREAK, CONTINUE, GOTO, DIE, EXIT • Câu lệnh Break • Câu lệnh Continue • Câu lệnh Goto • Câu lệnh Die & Exit 55
  56. FOREACH • Lệnh BREAK thường được dùng để thoát khỏi vòng lặp cho dù vòng lặp chưa kết thúc 56
  57. CONTINUE • Continue sẽ bỏ qua những đoạn code bên dưới nó và nhảy qua vòng lặp kế tiếp (ko thoát khỏi vòng lặp như lệnh break) 57
  58. GOTO • Lệnh goto để nhảy đến một code nào đó 58
  59. DIE và EXIT • Die và exit sẽ làm chương trình dừng ngay lập tức 59
  60. HÀM • Hàm là tập hợp một hay nhiều câu lệnh được xây dựng để thực hiện một chức năng nào đó • Func_name: tên của hàm • $vars là các biến truyền vào trong hàm • Return$val là hàm sẽ trả về giá trị $val 60
  61. HÀM 61
  62. HÀM • Bài tập : Viết đoạn mã in ra 100 dòng “Đây là số n” với n từ 1 đến 100 62
  63. HÀM VỚI THAM SỐ • Bài toán : Xét ngày trong tuần • Bài tập : Tạo ra một hàm cộng hai số (hoặc nhân hai số) 63
  64. HÀM VỚI GIÁ TRỊ TRẢ VỀ • Xét ví dụ sau : 64
  65. PHẠM VI CỦA BIẾN • Biến toàn cục • Biến cục bộ 65
  66. PHẠM VI CỦA BIẾN • Ví dụ : 66
  67. PHẠM VI CỦA BIẾN • Ví dụ : 67
  68. PHẠM VI CỦA BIẾN • Ví dụ : 68
  69. Làm việc với file • Mở file • Đọc file • Ghi file • Đóng file • Một số hàm xử lý với file 69
  70. MỞ, ĐÓNG FILE • Trong đó $path là đường dẫn file cần mở • $option là quyền cho phép thao tác trên file • Đóng file sử dụng hàm fclose($fp) 70
  71. MỞ FILE 71
  72. ĐỌC FILE • Đọc từng dòng • Đọc từng ký tự • Đọc hết file • Trong đó, $fp là đối tượng lúc mở file • $size là kích cỡ của file cần đọc • Hàm filesize($path) để lấy kích cỡ của file càn đọc 72
  73. GHI FILE • $fp là đối tượng trả về lúc mở file • $content là nội dung muốn ghi vào 73
  74. CÁC HÀM XỬ LÝ FILE KHÁC Hàm Chức năng File_exists ($path) Kiểm tra file có tồn tại không Is_wriable ($path) Kiểm tra file có được cấp quyền ghi không File_get_contents($path) Lấy nội dung một file mà ko cần dùng hàm fread File_put_content($path,$noidung) Ghi nội dung file mà ko cần dùng hàm fwrite Rename($oldname,$newname) Đổi tên file Copy($source,$ dest) Copy file Unlink($path) Xóa file Is_dir ($filenam) Kiểm tra một đườngf dẫn folder có tồn tại ko Mkdir ($path) Tạo một folder mới • $path : đường dẫn đến file 74