Lập trình web - Chương 3: Mảng và chuỗi ký tự

pdf 85 trang vanle 3370
Bạn đang xem 20 trang mẫu của tài liệu "Lập trình web - Chương 3: Mảng và chuỗi ký tự", để 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:

  • pdflap_trinh_web_chuong_3_mang_va_chuoi_ky_tu.pdf

Nội dung text: Lập trình web - Chương 3: Mảng và chuỗi ký tự

  1. CHƯƠNG 3: MẢNG VÀ CHUỖI KÝ TỰ 3.1 GIỚI THIỆU VỀ MẢNG 3.2 MẢNG MỘT CHIỀU 3.3 MẢNG HAI CHIỀU 3.4 CÁC HÀM XỬ LÝ TRÊN MẢNG 3.5 CHUỖI KÝ TỰ 3.6 CÁC HÀM XỬ LÝ TRÊN CHUỖI 28/06/2014 Lập trình Web 1
  2. 3.1. GIỚI THIỆU VỀ MẢNG Khái niệm mảng Phân loại mảng 28/06/2014 Lập trình Web 2
  3. Phân loại mảng Căn cứ vào chỉ số mảng: Mảng có chỉ số kiểu number Mảng có chỉ số kiểu associative Ví dụ: Ta có các mảng $tpho = array(“HoChiMinh”, “HaNoi”, “HaiPhong”, “DaNang”); $tpho = array(“HCM” => “HoChiMinh”, “HN” => “HaNoi”, “HP” => “HaiPhong”, “DN” => “DaNang”); Căn cứ vào số chiều của mảng Mảng một chiều Mảng hai chiều (nhiều chiều) Ví dụ: Ta có các mảng $lop= array(array(“LT01A”, 34), array(“LT01B”, 35)); 28/06/2014 Lập trình Web 3
  4. 3.2 MẢNG MỘT CHIỀU Khai báo mảng Làm việc với phần tử mảng Sắp xếp mảng 28/06/2014 Lập trình Web 4
  5. Khai báo mảng Cú pháp: Khai báo mảng có chỉ số kiểu number $biến_mảng=array(danh sách các giá trị cần gán); Hoặc:$biến_mảng[0]=giá trị;// $biến_mảng[]=giá trị; $biến_mảng[1]=giá trị;//$biến_mảng[]=giá trị . Ví dụ: Ta có các khai báo $color=array(“gray”, “green”, “red”, “blue”, “yellow”); $color[0]=“gray”; $color[1]=“green”; Hoặc $color[]=“gray”; $color[]=“green”; 28/06/2014 Lập trình Web 5
  6. Khai báo mảng Khai báo mảng có chỉ số kiểu associative $biến_mảng=array(“chỉ số 1”=>“giá trị 1”, “chỉ số 2” => “giá trị 2”, ); Hoặc:$biến_mảng[“chỉ số 1”]=giá trị 1; $biến_mảng[“chỉ số 2”]=giá trị 2; . Ví dụ: Ta có các khai báo $tpho = array(“HCM” => “HoChiMinh”, “HN” => “HaNoi”, “HP” => “HaiPhong”, “DN” => “DaNang”); $tpho[“HCM”]=“HoChiMinh”; $tpho[“HN”]=“HaNoi”; 28/06/2014 Lập trình Web 6
  7. Khai báo mảng Khi các giá trị gán cho mảng là các giá trị nguyên hoặc ký tự có tính chất sắp xếp (tăng hoặc giảm) dần. Ta sử dụng hàm range() để khai báo mảng Cú pháp: $biến_mảng=range(giá trị đầu, giá trị cuối); Ví dụ: Ta có mảng: $number = range(0, 20); $charac = range(“A”, “Z”); 28/06/2014 Lập trình Web 7
  8. Làm việc với mảng Có thể thao tác với giá trị của các phần tử mảng thông qua tên biến_mảng kèm với chỉ số của nó Cú pháp: $biến_mảng[“chỉ số”] Ví dụ: Ta có đoạn code sau: “Ho Chi Minh”, “HN”=>“Ha Noi”, “HP”=>“Hai Phong”, “DN”=>“Da Nang”); echo $color[1]. “ ”. $color[2]. “ ”; Echo $tpho[“HCM”]. “ ”. $tpho[“HP”]; ?> 28/06/2014 Lập trình Web 8
  9. Làm việc với mảng 28/06/2014 Lập trình Web 9
  10. Làm việc với mảng Sử dụng vòng lặp để duyệt các phần tử mảng Ví dụ: Xét đoạn code sau ” ?> 28/06/2014 Lập trình Web 10
  11. Làm việc với mảng 28/06/2014 Lập trình Web 11
  12. Làm việc với mảng Sử dụng hàm count() để trả về số phần tử của mảng Cú pháp: count($biến_mảng), sizeof($biến_mảng); Ví dụ: Xét đoạn code sau ” ?> 28/06/2014 Lập trình Web 12
  13. Làm việc với mảng 28/06/2014 Lập trình Web 13
  14. Làm việc với mảng Sử dụng hàm list() để hiển thị cả chỉ số mảng và giá trị các phần tử mảng Cú pháp: list($key, $value)=each($biến_mảng); Trong đó: - Hàm each() sẽ lấy cặp chỉ số (khóa) và giá trị của phần tử mảng - Hàm list lấy các giá trị này gán cho $key và $value. Quá trình này tiếp tục cho đến khi mảng được duyệt hết - Nếu muốn duyệt lại mảng cần thiết lập lại con trỏ mảng bằng hàm reset($biến_mảng) 28/06/2014 Lập trình Web 14
  15. Làm việc với mảng Ví dụ: Xét đoạn code sau “Ho Chi Minh”, “HN”=>“Ha Noi”, “HP”=>“Hai Phong”, “DN”=>“Da Nang”); while(list($key,$value)=each($tpho)) echo “ $key la Thanh pho: $value ”; reset($tpho); while($row=each($tpho) echo “ ”.$row[“$key”].“ la thanh pho ”.$row[“$value”].“ ”; ?> 28/06/2014 Lập trình Web 15
  16. Làm việc với mảng 28/06/2014 Lập trình Web 16
  17. Sắp xếp mảng Đối với mảng một chiều, sau khi khai báo và gán giá trị cho các phần tử mảng, để sắp xếp mảng ta có một số hàm sau: Hàm sort() Hàm rsort() Hàm asort() Hàm arsort() Hàm ksort() Hàm krsort() 28/06/2014 Lập trình Web 17
  18. Hàm sort() Sắp xếp mảng theo chiều tăng dần của giá trị các phần tử mảng nhưng chỉ số tương ứng bị thay đổi Cú pháp: sort($biến_mảng) Ví dụ: sử dụng hàm sort() "Ho chi minh", "HN"=>"Ha noi", "DN"=>"Da nang", "HP"=>"Hai phong"); sort($tp); while ($row=each($tp)) { echo $row["key"]."\t"; echo $row["value"]." "; } ?> 28/06/2014 Lập trình Web 18
  19. Hàm sort() 28/06/2014 Lập trình Web 19
  20. Hàm rsort() Sắp xếp mảng theo chiều giảm dần của giá trị các phần tử mảng nhưng chỉ số tương ứng bị thay đổi Cú pháp: rsort($biến_mảng) Ví dụ: sử dụng hàm rsort "Ho chi minh", "HN"=>"Ha noi", "DN"=>"Da nang", "HP"=>"Hai phong"); rsort($tp); while ($row=each($tp)) { echo $row["key"]."\t"; echo $row["value"]." "; } ?> 28/06/2014 Lập trình Web 20
  21. Hàm rsort() 28/06/2014 Lập trình Web 21
  22. Hàm asort() Sắp xếp mảng theo chiều tăng dần của giá trị các phần tử mảng nhưng chỉ số vẫn giữa nguyên Cú pháp: asort($biến_mảng) Ví dụ: sử dụng hàm asort "Ho chi minh", "HN"=>"Ha noi", "DN"=>"Da nang", "HP"=>"Hai phong"); asort($tp); while ($row=each($tp)) { echo $row["key"]."\t"; echo $row["value"]." "; } ?> 28/06/2014 Lập trình Web 22
  23. Hàm asort() 28/06/2014 Lập trình Web 23
  24. Hàm arsort() Sắp xếp mảng theo chiều giảm dần của giá trị các phần tử mảng nhưng chỉ số vẫn giữa nguyên Cú pháp: arsort($biến_mảng) Ví dụ: sử dụng hàm arsort "Ho chi minh", "HN"=>"Ha noi", "DN"=>"Da nang", "HP"=>"Hai phong"); arsort($tp); while ($row=each($tp)) { echo $row["key"]."\t"; echo $row["value"]." "; } ?> 28/06/2014 Lập trình Web 24
  25. Hàm arsort() 28/06/2014 Lập trình Web 25
  26. Hàm ksort() Sắp xếp mảng theo chiều tăng dần của chỉ số mảng Cú pháp: ksort($biến_mảng) Ví dụ: sử dụng hàm ksort "Ho chi minh", "HN"=>"Ha noi", "DN"=>"Da nang", "HP"=>"Hai phong"); ksort($tp); while ($row=each($tp)) { echo $row["key"]."\t"; echo $row["value"]." "; } ?> 28/06/2014 Lập trình Web 26
  27. Hàm ksort() 28/06/2014 Lập trình Web 27
  28. Hàm krsort() Sắp xếp mảng theo chiều giảm dần của chỉ số mảng Cú pháp: krsort($biến_mảng) Ví dụ: sử dụng hàm krsort "Ho chi minh", "HN"=>"Ha noi", "DN"=>"Da nang", "HP"=>"Hai phong"); krsort($tp); while ($row=each($tp)) { echo $row["key"]."\t"; echo $row["value"]." "; } ?> 28/06/2014 Lập trình Web 28
  29. Hàm krsort() 28/06/2014 Lập trình Web 29
  30. 3.3 MẢNG HAI CHIỀU Khai báo mảng Làm việc với phần tử mảng Sắp xếp mảng 28/06/2014 Lập trình Web 30
  31. Khai báo mảng Cú pháp: Khai báo mảng có chỉ số kiểu number $biến_mảng=array(array(các giá trị mảng 1), array(các giá trị mảng 2), .); Hoặc:$biến_mảng[0][0]=giá trị; $biến_mảng[0][1]=giá trị; . Ví dụ: Ta có các khai báo $Lop=array(array(“LT01A”, “LT01B”, “MM01”, “DL01”), array(“LT02A”, “LT02B”, “MM02A”, “MM02B”, “HT02”)); $Lop[0][0]=“LT01A”; $Lop[0][1]=“LT01B”; 28/06/2014 Lập trình Web 31
  32. Khai báo mảng Cú pháp: Khai báo mảng có chỉ số kiểu associative $biến_mảng=array(“chỉ số h1”=>array(“chỉ số c1”=>giá trị, “chỉ số c2”=>giá trị 2, ), “chỉ số h2”=>array(“chỉ số c1”=>giá trị, “chỉ số c2”=>giá trị, ), ); Hoặc:$biến_mảng[“chỉ số h1”][“chỉ số c1”]=giá trị 1; $biến_mảng[“chỉ số h1”][“chỉ số c2”]=giá trị 2; . Ví dụ: Ta có các khai báo $tpho=array(“HCM”=>array(“Ten”=>“HoChiMinh”,“dan so”=>10000000), “HN”=>array(“Ten”=>“HaNoi”,“dan so”=>6000000), “HP”=>array(“Ten”=>“Hai Phong”),“DN”=>array(“Ten”=>“Da Nang”)); $tpho[“HCM”][“Ten”]=“HoChiMinh”; $tpho[“HN”][“dan so”]=6000000; 28/06/2014 Lập trình Web 32
  33. Làm việc với mảng Có thể thao tác với các phần tử mảng hai chiều thông qua tên biến_mảng và hai chỉ số hàng, cột Cú pháp: $biến_mảng[“chỉ số hàng”][“chỉ số cột”]; Ví dụ: Ta có đoạn code sau: array("Ten"=>"Ho chi minh", "dan so"=>10000000), "HN"=>array("Ten"=>"Ha noi","dan so"=>6000000), "DN"=>array("Ten"=>"Da nang"), "HP"=>array("Ten"=>"Hai phong")); echo “ ”.$tpho[“HCM”][“Ten”].“ co so dan: ”.$tpho[“HCM”][“dan so”].“ nguoi ”; ?> 28/06/2014 Lập trình Web 33
  34. Làm việc với mảng 28/06/2014 Lập trình Web 34
  35. Làm việc với mảng Sử dụng hàm list() để duyệt tất cả các phần tử của mảng Ví dụ: sử dụng list() cho ví dụ trên $hang: ”; while (list($cot, $value)=each($tpho1) echo “$cot: $value ”; echo “ ” } ?> 28/06/2014 Lập trình Web 35
  36. Làm việc với mảng 28/06/2014 Lập trình Web 36
  37. Sắp xếp mảng Để sắp xếp mảng hai chiều, có thể sử dụng các hàm như: Hàm usort() Hàm uasort() Hàm uksort() Tuy nhiên, để kết hợp với hàm trên ta cần khai báo hàm so sánh phần tử như sau: function my_sort($a, $b) {if ($a == $b) return 0; return ($a > $b)? -1: 1; } 28/06/2014 Lập trình Web 37
  38. Hàm usort() Sắp xếp mảng theo thứ tự tăng dần của một cột nào đó nhưng chỉ số của các phần tử mảng thay đổi Cú pháp: usort($biến_mảng, my_sort) 28/06/2014 Lập trình Web 38
  39. Hàm usort() Ví dụ: xét đoạn code sau $b[1]) return 1; else return -1;} $st=array(array("Vietnam", "Hanoi", 100),array("France", "Paris", 3000), array("Spain", "Madrid", 2000)); usort($st, SX); for($i=0; $i ".$st[$i][$j]." | "; echo " "; } ?> 28/06/2014 Lập trình Web 39
  40. Hàm usort() 28/06/2014 Lập trình Web 40
  41. Hàm uasort() Sắp xếp mảng theo thứ tự tăng dần của một cột nào đó nhưng chỉ số của phần tử mảng không thay đổi theo Cú pháp: uasort($biến_mảng, my_sort) 28/06/2014 Lập trình Web 41
  42. Hàm uksort() Sắp xếp các phần tử mảng theo chỉ số của chúng. Sử dụng đối với các mảng có chỉ số kiểu associative Cú pháp: uksort($biến_mảng, my_sort) - Để sắp xếp mảng theo một cột nào đó ta có thể thay đổi nội dung của hàm my_sort() 28/06/2014 Lập trình Web 42
  43. 3.4 CÁC HÀM XỬ LÝ TRÊN MẢNG Hàm kiểm tra sự tồn tại của mảng Hàm di chuyển trên các phần tử Hàm trả về kích thước mảng Hàm tìm kiếm trên mảng Hàm thêm hoặc xóa phần tử mảng 28/06/2014 Lập trình Web 43
  44. Hàm kiểm tra sự tồn tại của mảng Dùng hàm is_array() để kiểm tra một biến mảng nào đó có tồn tại hay không. Cú pháp: is_array($biến_mảng); Ví dụ: 28/06/2014 Lập trình Web 44
  45. Hàm di chuyển trên các phần tử Các hàm thường dùng để di chuyển con trỏ trên các phần tử mảng Hàm current() Hàm next() Hàm each() Hàm prev() Hàm reset() Hàm end() 28/06/2014 Lập trình Web 45
  46. Hàm current() Tác dụng: trả về giá trị của phần tử hiện tại trong mảng. Cú pháp: current($biến_mảng) Ví dụ: xét câu lệnh sau: "; ?> 28/06/2014 Lập trình Web 46
  47. Hàm next() Tác dụng: trả về giá trị của phần tử kế tiếp; trả về false nếu hết mảng hoặc phần tử rỗng Cú pháp: next($biến_mảng) Ví dụ: xét câu lệnh sau: "; echo next($people); ?> 28/06/2014 Lập trình Web 47
  48. Hàm each() Tác dụng: trả về chỉ số và giá trị của phần tử hiện tại và chuyển con trỏ sang phần tử tiếp theo Cú pháp: each($biến_mảng) Ví dụ: xét câu lệnh sau: $val" ; ?> 28/06/2014 Lập trình Web 48
  49. Hàm prev() Tác dụng: trả về giá trị của phần tử ngay trước phần tử hiện tại; trả về false nếu đầu mảng hoặc phần tử rỗng Cú pháp: prev($biến_mảng) Ví dụ: xét câu lệnh sau: "; echo next($people).“ ” ; echo prev($people);?> 28/06/2014 Lập trình Web 49
  50. Hàm reset() Tác dụng: chuyển con trỏ mảng về đầu mảng và trả về giá trị của phần tử đầu tiên của mảng Cú pháp: reset($biến_mảng) Ví dụ: xét câu lệnh sau: "; echo next($people).“ ” ; echo reset($people); ?> 28/06/2014 Lập trình Web 50
  51. Hàm end() Tác dụng: chuyển con trỏ mảng về cuối mảng và trả về giá trị của phần tử cuối cùng của mảng Cú pháp: end($biến_mảng) Ví dụ: xét câu lệnh sau: "; echo next($people).“ ” ; echo end($people); ?> 28/06/2014 Lập trình Web 51
  52. Hàm trả về kích thước mảng Có thể sử dụng hàm count() hoặc hàm sizeof() để đếm tổng số phần tử có trong mảng Cú pháp: count($biến_mảng) hoặc sizeof($biến_mảng) 28/06/2014 Lập trình Web 52
  53. Hàm tìm kiếm trên mảng Hàm in_array() Hàm array_key_exists() Hàm array_search() 28/06/2014 Lập trình Web 53
  54. Hàm in_array() Tác dụng: Tìm xem một giá trị nào đó có trong mảng hay không? Nếu có trả về true, ngược lại trả về false Cú pháp: in_array(“giá trị cần tìm”, $biến_mảng, type) Trong đó: type là tham số nhận 2 giá trị true hoặc false. Nếu thiết lập là true thì tìm kiếm có phân biệt hoa, thường; xâu, số. Và mặc định là false 28/06/2014 Lập trình Web 54
  55. Hàm in_array() Ví dụ: xét đoạn mã: 28/06/2014 Lập trình Web 55
  56. Hàm array_key_exists() Tác dụng: Kiểm tra xem một khóa nào đó có trong mảng hay không? Trả về true nếu tìm thấy, ngược lại trả về false Cú pháp: array_key_exists(“giá trị khóa”, $biến_mảng) Ví dụ: Xét đoạn mã sau: "Dog","b"=>"Cat"); if (array_key_exists("a",$a)) echo "Key exists!"; else echo "Key does not exist!"; ?> 28/06/2014 Lập trình Web 56
  57. Hàm array_search() Tác dụng: Kiểm tra xem một giá trị nào đó có trong mảng hay không? Trả về khóa tương ứng nếu tìm thấy Cú pháp: array_search(“giá trị cần tìm”, $biến_mảng, type) Ví dụ: xét đoạn mã sau: "Dog","b"=>"Cat","c"=>" Horse"); echo array_search("Dog",$a); $b=array("a"=>"5","b"=>5,"c"=>“15"); echo array_search(5,$b,true); ?> 28/06/2014 Lập trình Web 57
  58. Hàm thêm hoặc xóa phần tử mảng Hàm array_unshift() Hàm array_push() Hàm array_shift() Hàm array_pop() 28/06/2014 Lập trình Web 58
  59. Hàm array_unshift() Tác dụng: thêm các phần tử vào đầu mảng. Giá trị trả về của hàm là số phần tử của mảng sau khi thêm. Cú pháp: array_unshift($biến_mảng, giá trị 1, ) Ví dụ: xét đoạn mã sau: "Cat","b"=>"Dog"); echo array_unshift($a,"Horse"); echo $a; ?> 28/06/2014 Lập trình Web 59
  60. Hàm array_push() Tác dụng: cũng giống như hảm array_unshift() nhưng lại thêm vào cuối mảng Cú pháp: array_push($biến_mảng, giá trị 1, giá trị 2, ) Ví dụ: xét đoạn mã sau: "Cat","b"=>"Dog"); echo array_push($a,"Horse"); echo $a; ?> 28/06/2014 Lập trình Web 60
  61. Hàm array_shift() Tác dụng: loại bỏ phần tử đầu tiên của mảng. Kết quả trả về của hàm là giá trị phần tử vừa bị loại bỏ. Cú pháp: array_shift($biến_mảng) Ví dụ: xét đoạn mã sau: "Dog","b"=>"Cat","c"=>" Horse"); echo array_shift($a); echo $a; ?> 28/06/2014 Lập trình Web 61
  62. Hàm array_pop() Tác dụng: cũng giống như array_shift nhưng loại bỏ phần tử cuối cùng Cú pháp: array_pop($biến_mảng) Ví dụ: xét đoạn mã sau: "Dog","b"=>"Cat","c"=>"Horse" ); echo array_pop($a); echo $a; ?> 28/06/2014 Lập trình Web 62
  63. 3.5 CHUỖI KÝ TỰ (STRING) Khái niệm chuỗi ký tự Khai báo chuỗi Làm việc với chuỗi 28/06/2014 Lập trình Web 63
  64. Khái niệm chuỗi ký tự (string) String trong PHP là một chuỗi các ký tự 1 byte. PHP không hỗ trợ Unicode, để làm việc với Unicode bạn phải sử dụng UTF8 với các hàm utf8_encode() – utf8_decode() Chuỗi ký tự của PHP hỗ trợ chiều dài rất lớn 28/06/2014 Lập trình Web 64
  65. Khai báo chuỗi Trong PHP, chuỗi ký tự được khai báo theo 3 cách Dấu nháy đơn (single quote) Dấu nháy kép (double quote) Heredoc 28/06/2014 Lập trình Web 65
  66. Khai báo chuỗi Kiểu dấu nháy đơn 28/06/2014 Lập trình Web 66
  67. Khai báo chuỗi Kiểu dấu nháy kép: kiểu này giống với kiểu dấu nháy đơn nhưng có nhiều hỗ trợ cho các ký tự đặc biệt hơn Khi thực thi, PHP sẽ tìm và thay thế những ký tự đặc biệt được escape (như \n, \t ) cùng với các biến (nếu có) trong xâu Khi sử dụng dấu nháy đơn, giá trị của biến trong xâu, cùng với các ký tự đặc biệt cần escape sẽ không được in ra. 28/06/2014 Lập trình Web 67
  68. Khai báo chuỗi Ví dụ: 28/06/2014 Lập trình Web 68
  69. Khai báo chuỗi Kiểu Heredoc spanning multiple lines using heredoc syntax. EOA;echo($str); $name = "quang"; $d = date("d/m/y"); $str = Ngay $d EOQ;echo($str); ?> 28/06/2014 Lập trình Web 69
  70. Làm việc với chuỗi Truyền biến kiểu chuỗi 28/06/2014 Lập trình Web 70
  71. Làm việc với chuỗi Truy cập đến từng ký tự của chuỗi $str"; $str{strlen($str)-1} = "s"; echo " $str"; ?> 28/06/2014 Lập trình Web 71
  72. Làm việc với chuỗi Các toán tử trên string: toán tử cộng chuỗi 28/06/2014 Lập trình Web 72
  73. 3.6 CÁC HÀM XỬ LÝ TRÊN CHUỖI Hàm định dạng chuỗi Hàm kết hợp hay tách chuỗi Hàm so sánh chuỗi Hàm tìm kiếm và thay thế chuỗi 28/06/2014 Lập trình Web 73
  74. Hàm định dạng chuỗi strtoupper(biến_chuỗi): Chuyển tất cả các ký tự trong chuỗi thành chữ hoa strtolower(biến_chuỗi): Chuyển tất cả các ký tự trong chuỗi thành chữ thường ucfirst(biến_chuỗi): Chuyển ký tự đầu tiên trong chuỗi thành chữ hoa ucwords(biến_chuỗi): Chuyển các ký tự đầu của mỗi từ trong chuỗi thành chữ hoa Hàm cắt ký tự trắng bên trái: ltrim(biến_chuỗi), rtrim(biến_chuỗi) và trim(biến_chuỗi), chop(biến_chuỗi) 28/06/2014 Lập trình Web 74
  75. Hàm định dạng chuỗi "; echo strtoupper($str); echo " "; echo strtolower($str); echo " "; echo ucfirst($str); echo " "; echo ucwords($str); echo " "; ?> 28/06/2014 Lập trình Web 75
  76. Hàm định dạng chuỗi 28/06/2014 Lập trình Web 76
  77. Hàm tách hay kết hợp chuỗi strtok (biến_chuỗi, str): Tách biến chuỗi thành các chuỗi con, sử dụng chuỗi str làm chuỗi xác định cách tách explode(str, biến_chuỗi): Tách chuỗi thành mảng các chuỗi con, sử dụng str làm chuỗi xác định cách tách substr(biến_chuỗi, k [, n]): Trả về chuỗi con từ biến chuỗi, tại vị trí k, lấy n ký tự. implode(str, $mang): Kết hợp các phần tử của mảng thành chuỗi, lấy str làm chuỗi liên kết 28/06/2014 Lập trình Web 77
  78. Hàm tách hay kết hợp chuỗi 28/06/2014 Lập trình Web 78
  79. Hàm tách hay kết hợp chuỗi 28/06/2014 Lập trình Web 79
  80. Hàm so sánh chuỗi (int) strcmp (str1, str2): 0 nếu str1 == str2, n nếu str1>str2, -n nếu str1 str2, -n nếu str1 str2, -n nếu str1<str2 (phân biệt chữ hoa, chữ thường, n là số ngẫu nhiên) 28/06/2014 Lập trình Web 80
  81. Hàm tách hay kết hợp chuỗi 28/06/2014 Lập trình Web 81
  82. Hàm tìm kiếm và thay thế chuỗi strpos(biến_chuỗi,str): trả về vị trí chuỗi con str xuất hiện đầu tiên trong biến_chuỗi, nếu không tìm thấy trả về rỗng. strstr(str1, biến_chuỗi): trả về str1 nếu tìm thấy str1 trong biến_chuỗi. Ngược lại, trả vể false. str_replace(str1, str2, biến_chuỗi): thay chuỗi con str1 bằng str2 trong biến_chuỗi. substr_replace(biến_chuỗi, str, n): thay phần chuỗi tính từ vị trí n trong biến_chuỗi bằng chuỗi str. 28/06/2014 Lập trình Web 82
  83. Hàm tìm kiếm và thay thế chuỗi 28/06/2014 Lập trình Web 83
  84. BÀI TẬP THỰC HÀNH 1. Chạy các ví dụ trong slides để xem kết quả hiện thị lên trình duyệt. 2. Viết chương trình nhập vào một chuỗi ký tự bất kỳ. Sau đó: Đếm số từ có trong chuỗi (các từ cách nhau bởi các khoảng trắng) Đếm số các ký tự xuất hiện trong chuỗi (trong trường hợp có phân biệt chữ hoa chữ thường và không phân biệt chữ hoa chữ thường) 28/06/2014 Lập trình Web 84
  85. BÀI TẬP THỰC HÀNH 3. Tách chuỗi nhập vào thành các phần: Chuỗi địa chỉ email thành username và domain Chuỗi số ngày tháng thành ngày, tháng, năm. Chuỗi họ tên đầy đủ thành họ và tên 28/06/2014 Lập trình Web 85