Ngôn ngữ lập trình

Ngôn ngữ lập trình rất quan trọng và rất đa dạng. Lập trình viên thường học một vài ngôn ngữ nhưng vẫn có riêng một ngôn ngữ thiết yếu để làm việc...

List (danh sách liên kết) trong C++

  • List được thực hiện như danh sách nối kép (doubly-linked list). Mỗi phần tử trong danh sách nối kép có liên kết đến một phần tử trước đó và một phần tử sau nó.
  • Do đó, list có các ưu điểm như sau:
    1. Chèn và loại bỏ phần tử ở bất cứ vị trí nào trong container. O(1).
  • Điểm yếu của list là khả năng truy cập tới phần tử thông qua vị trí. O(n).
  • Khai báo: #include <list>

Các hàm thành viên:

Capacity:

  • size : trả về số lượng phần tử của list. ĐPT O(1).
  • empty : trả về true(1) nếu list rỗng, ngược lại là false(0). ĐPT O(1).

 

Truy cập phần tử:

  • front: trả về giá trị phần tử đầu tiên. ĐPT O(1).
  • back: trả về giá trị phần tử cuối cùng. ĐPT O(1).

 

Chỉnh sửa:

  • push_back : thêm phần tử vào ở cuối list. ĐPT O(1).
  • push_front : thêm phần tử vào đầu list. ĐPT O(1).
  • pop_back : loại bỏ phần tử ở cuối list. ĐPT O(1).
  • pop_front : loại bỏ phần tử ở đầu list. ĐPT O(1).
  • insert (iterator,x): chèn “x” vào trước vị trí “iterator” ( x có thể là phần tử hay iterator của 1 đoạn phần tử…). ĐPT là số phần tử thêm vào.
  • erase : xóa phần tử ở vị trí iterator. ĐPT là số phần tử bị xóa đi.
  • swap : đổi 2 list cho nhau (ví dụ: first.swap(second);). ĐPT O(1).
  • clear: xóa list. ĐPT O(n).

 

Operations:

  • splice : di chuyển phần tử từ list này sang list khác. ĐPT O(n).
  • remove (const) : loại bỏ tất cả phần tử trong list bằng const. ĐPT O(n).
  • remove_if (function) : loại bỏ tất các phần tử trong list nếu hàm function return true . ĐPT O(n).
  • unique : loại bỏ các phần tử bị trùng lặp hoặc thỏa mãn hàm nào đó. ĐPT O(n). Lưu ý: Các phần tử trong list phải được sắp xếp.
  • sort : sắp xếp các phần tử của list. O(NlogN)
  • reverse : đảo ngược lại các phần tử của list. O(n).

Deque (hàng đợi hai đầu) trong C++

Deque hay còn được gọi là hàng đợi hai đầu

  • Deque (thuờng được phát âm giống như “deck”) là từ viết tắt của double-ended queue (hàng đợi hai đầu).
  • Deque có các ưu điểm như:
  1. Các phần tử có thể truy cập thông cua chỉ số vị trí của nó. O(1)
  2. Chèn hoặc xóa phần tử ở cuối hoặc đầu của dãy. O(1)

Khai báo: #include <deque>

 

Capacity:

  • size : trả về số lượng phần tử của deque. ĐPT O(1).
  • empty : trả về true(1) nếu deque rỗng, ngược lại là false(0). ĐPT O(1).

Truy cập phần tử:

  • operator [] : trả về giá trị phần tử thứ []. ĐPT O(1).
  • at : tương tự như trên. ĐPT O(1).
  • front: trả về giá trị phần tử đầu tiên. ĐPT O(1).
  • back: trả về giá trị phần tử cuối cùng. ĐPT O(1).

 

Chỉnh sửa:

  • push_back : thêm phần tử vào ở cuối deque. ĐPT O(1).
  • push_front : thêm phần tử vào đầu deque. ĐPT O(1).
  • pop_back : loại bỏ phần tử ở cuối deque. ĐPT O(1).
  • pop_front : loại bỏ phần tử ở đầu deque. ĐPT O(1).
  • insert (iterator,x): chèn “x” vào trước vị trí “iterator” ( x có thể là phần tử hay iterator của 1 đoạn phần tử…). ĐPT O(n).
  • erase : xóa phần tử ở vị trí iterator. ĐPT O(n).
  • swap : đổi 2 deque cho nhau (ví dụ: first.swap(second);). ĐPT O(n). clear: xóa vector. ĐPT O(1).

Mảng (array) trong PHP

  1. Array là gì ?
  • Mảng là một biến đặc biệt và có thể lưu trữ nhiều giá trị.
  • Một biến thông thường chỉ chứa một giá trị duy nhất, nếu chúng ta muốn chứa nhiều giá trị trong một biến thì biến đó phải là một mảng (ví dụng cần lưu trữ thông tin của 1000 nhân viên).
  • Trong PHP có 3 loại mảng: mảng số nguyên, mảng kết hợp và mảng đa chiều.
  1. Khai báo và sử dụng mảng số nguyên
  • Mảng số nguyên là mảng mà các chỉ số của các phần tử phải thuộc kiểu số nguyên (mảng số nguyên còn được gọi là mảng liên tục)
  • Tìm hiểu cách truy cập các phần tử của mảng và in mảng.
  1. Khai báo và sử dụng mảng kết hợp:
  • Mảng kết hợp là các chỉ số của các phần tử có thể là chuỗi hoặc số (Mảng kết hợp còn gọi là không liên tục)
  • In danh sách các phần tử trong mảng kết hợp: foreach
  1. Khai báo và sử dụng mảng đa chiều
  • Mảng đa chiều là mảng mà mỗi phần tử trong mảng chính có thể là một mảng và mỗi phần tử trong mảng con lại cũng có thể là một mảng (mảng đa chiều còn gọi là mảng lồng)
  • In phần tử, in sách các phần tử trong mảng đa chiều: foreach
  1. Lấy danh sách các khóa và danh sách các giá trị của một mảng nào đó ?
  • array_value ($array) trả về một mảng liên túc có các phần tử có giá trị là giá trị lấy từ các phần tử của mảng $array.
  • array_keys ($array): trả về một mảng liên tục có các phần tử có giá trị là khóa lấy các phần tử của mảng $array.
  1. Loại bỏ phần tử ở đầu và cuối mảng
  • array_pop ($array) loại bỏ phần tử cuối cùng của mảng. Hàm trả về phần tử cuối cùng đã được loại bỏ.
  • array_shift ($array) loại bỏ phần tử đầu tiên của mảng. Hàm trả về phần tử đầu tiên đã được loại bỏ.
  1. Loại bỏ phần tử trùng nhau trong mảng
  • array_unique ($array) loại bỏ những phần tử trùng nhau trong mảng và trả về mảng mới.
  1. Xóa phần tử ở vị trí bất kì của mảng
  • Sử dụng hàm unset để xóa bỏ phần tử ở vị trí bất kỳ trong mảng.
  1. Thêm một hoặc nhiều phần tử ở đầu hoặc cuối mảng ?
  • array_push ($array, $val1, $val2, … , $valn) thêm một hoặc nhiều phần từ vào cuối mảng $array. Hàm trả về kiểu nguyên là số lượng của mảng $array mới.
  • array_unshift ($array, $val1, $val2, … , $valn) thêm một hoặc nhiều phần tử vào đầu mảng $array. Hàm trả về kiểu số nguyên là số lượng phần tử của mảng $array mới.
  1. Đảo ngược vị trí các phần tử của mảng
  • array_reverse ($array) đảo ngược vị trí các phần tử của mảng, phần tử cuối trở thành phần tử đầu tiên, phần tử ké cuối trở thành phần tử thứ nhì, … kết quả trả về là một mảng mới.
  1. Hoán đổi chỉ số và giá trị của mảng (đảo $key và $value)
  • Sử dụng hàm array_flip ($array) trả về một mảng có khóa và giá trị được hoán đổi cho nhau so với mảng $array (giá trị thành khóa và khóa thành giá trị)
  1. Xác định tổng, giá tri lớn nhất và giá trị nhỏ nhất trong mảng
  • Tính tổng các phần tử trong mảng array_sum ($array)
  • Xác định phần tử nhỏ nhất trong mảng min($array)
  • Xác định phần tử lớn nhất trong mảng max($array)
  1. Thống kê số lần xuất hiện của các phần tử trong mảng
  • Để thống kê sự xuất hiện của các phần tử trong mảng chúng ta sử dụng hàm array_count_values ($array)
  1. Kết hợp các mảng lại với nhau
  • array_merge ($array1, $array2, … , $arrayn) nhạp 2 hay nhiều mảng thành một mảng duy nhất và trả về mảng mới.
  1. Lấy ngẫu nhiên chỉ số ($key) của một mảng nào đó
  • array_rand ($array, $number) lấy ngẫu nhiên $number phần tử mảng $array và đưa vào mảng mới (láy giá trị khóa).
  1. Tìm kiếm phần tử trong mảng
  • array_search ($value, $array) tìm phần tử mang giá trị $value trong mảng $array. Trả về khóa của phần tử tìm được.
  1. Kiểm tra một $key hoặc $value nào đó có tồn tại trong mảng hay không ?
  • array_key_exists ($key, $array) kiểm tra khóa $key có tồn tại trong mảng $array hay không ? Nếu có trả về giá trị true.
  • in_array ($value, $array) kiểm tra giá trị $value có tồn tại trong mảng $array hay không ? Nếu có trả về giá trị true.
  1. Chuyển đổi các key trong mảng thành chữ hoa hoặc chữ thường
  • Sử dụng hàm array_change_key_case ($array, case) để chuyển đổi các chỉ số ($key) trong mảng thành chữ hoa hoặc chữ thường, tuy thuộc vào tham số case truyền vào. Kết quả trả về của hàm sẽ là một mảng mới.
  1. Chuyển đổi qua lại giữa mảng và chuỗi
  • implode ($str, $array) chuyển các giá trị của mảng $array thành một chuỗi bao gồm các phần tử các nhau bởi ký tự $str
  • explode ($delimiter, $str) chuyển một chuỗi thành một mảng. Tách chuỗi dựa vào $delimiter, mỗi đoạn tách ra sẽ thành một phần tử của mảng mới.
  1. Truy xuất phần tử của mảng với end, current, next và previous.
  • current($array) truy xuất phần tử hiện tại của mảng.
  • end($array) truy xuất phần tử cuối cùng của mảng.
  • next($array) truy xuất phần tử sau phần từ của mảng.
  • prev($array) truy xuất phần tử trước phần tử hiện tại của mảng.
  • reset() quay về vị trí phần tử đầu tiên trong mảng.
  1. Chuyển đổi mảng về một chuỗi đặc biệt và ngược lại
  • serialize ($value) chuyển chuỗi/mảng/đối tượng $value thành một chuỗi đặc biệt để lưu vào cơ sở dữ liệu.
  • unserialize($value) chuyển chuỗi đặc biệt được tạo từ serialize($value) về trạng thái ban đầu.
  1. Xáo trộn thứ tự các phần tử trong mảng
  • Sử dụng hàm shuffle để tạo ra mảng mới (mảng liên tục) với thứ tự các phần tử trong mảng bị thay đổi.
  1. Tạo mảng từ các biến có sẵn
  • Sử dụng hàm compact() để tạo ra mảng từ các biến có sẵn.
  1. Tạo mảng sử dụng hàm range()
  • Sử dụng hàm range để tạo ra các phần tử của mảng.
  1. Tạo mảng bằng cách sử dụng hàm array_combine
  • Sử dụng hàm array_combine($key, $value) để tạo một mảng mới có khóa được lấy từ mảng $key và giá trị được lấy từ mảng $value theo tuần tự.
  1. Các trường hợp so sánh giữa hai mảng
  • Trường hợp 1: So sánh khác nhau:
    • array_diff ($array1, $array2) trả về một mảng bao gồm các phần tử có giá trị tồn tại trong mảng $array1 nhưng không tồn tại trong mảng $array2
    • array_diff_key ($array1, $array2) trả về một mảng bao gồm các phần tử có khóa tồn tại trong mảng $array1 nhưng không tồn tại trong mảng $array2
    • array_diff_assoc ($array1, $array2) tả về một mảng bao gồm các phần tử có khóa và giá trị tồn tại trong mảng $array1 nhưng không tồn tại trong mảng $array2
  • Trường hợp 2: So sánh giống nhau:
    • array_intersect ($array1, $array2) trả về một mảng bao gồm các phần tử giống nhau về giá trị 2 mảng $array1 và $array2
    • array_intersect_key ($array1, $array2) trả về một mảng bao gồm các phần tử giống nhau về khóa giữa 2 mảng $array1 và $array2
    • array_intersect_assco ($array1, $array2) trả về một mảng bao gồm các phần tử giống nhau về khóa và giá trị giữa 2 mảng $array1 và $array2
  1. Xử lý giá trị các phần tử của mảng
  • Hàm array_walk sẽ gửi các giá trị của mảng đến một hàm nào đó để xử lý và nhận kết quả về là một mảng mới.
  1. Tìm hiểu hàm array_map
  • Hàm array_map sẽ gửi các giá trị của một hay nhiều mảng đến hàm nào đó đẻ xử lý và nhận kết quả trả về là một mảng mới.
  1. Trích xuất một đoạn phần tử của mảng
  • Hàm array_slice (array, offset, length, preserve) trích xuất lấy một đoạn phần tử của mảng từ vị trí bắt đầu offset (vị trí bắt đầu trong mảng là 0) và lấy length phần từ.
  1. Thay thế một đoạn phần tử của mảng
  • Hàm array_splice (array1, offset, length, array2) xóa bỏ một đoạn phần tử của mảng array1 từ vị trí offset và lấy length phần tử. Sau đó thay thế các phần tử bị loại bỏ bằng mảng array2
  1. Các trường hợp sắp xếp mảng
  • Sắp xếp theo giá trị:
    • sort(array) sắp xếp các phần tử trong mảng array tăng dần theo giá trị.
    • rsort(array) sắp xếp các phần tự trong mảng array giảm dần theo giá trị.
  • Sắp xếp theo khóa
    • ksort(array) sắp xếp các phần tử trong mảng array tăng dần theo khóa.
    • krsort(array) sắp xếp các phần tử trong mảng array giảm dần theo khóa.

Thao tác nâng cao trên mảng

 

  • Mảng là một biến đặc biệt và có thể lưu trữ nhiều giá trị (còn biến thì không). Trong PHP có 3 loại mảng: mảng số nguyên, mảng kết hợp và mảng đa chiều.
Mảng số nguyên Mảng kết hợp Mảng đa chiều
Tên gọi khác Mảng liên tục Mảng không liên tục Mảng lồng
Đặc điểm Chỉ số của mảng là số Chỉ số của mảng là chuỗi hoặc số Mỗi phần tử trong mảng chính là có thể là một mảng và mỗi phần tử trong mảng con cũng có thể là một mảng
In mảng Câu lệnh for Câu lệnh foreach

 

  1. Các hàm sử lý mảng:
STT Hàm Chức năng
1 print_r ($array) Xem cấu trúc mảng
2 count ($array) Trả về giá trị kiểu số nguyên là phần tử của mảng, hay là đếm số phần tử trong mảng. Có thể sử dụng hàm sizeof ($array)
3 array_values ($array) Trả về một mảng liên tục có các phần tử có giá trị là giá trị lấy từ các phần tử của mảng $array
4 array_keys ($array) Trả về một mảng liên tục có các phần tử có giá trị là khóa lấy từ các phần tử của mảng $array
5 array_pop ($array) Loại bỏ phần tử cuối của mảng. Hàm trả về phần tử cuối đã được loại bỏ.
6 array_shift ($array) Loại bỏ phần tử đầu tiên của mảng. Hàm trả về phần tử đầu tiên đã được loại bỏ.
7 array_unique ($array) Loại bỏ những phần tử trùng nhau trong mảng và trả về mảng mới
8 unset () Xóa phần tử ở vị trí bất kì của mảng
9 array_push ($array, $val1, $val2, … , $valn) Thêm một hoặc nhiều phần tử vào cuối mảng $array. Hàm trả về kiểu số nguyên là số lượng phần tử của mảng $array mới
10 array_unshift ($array, $val1, $val2, … , $valn) Thêm một hoặc nhiều phần tử vào đầu mảng $array. Hàm trả về kiểu số nguyên là số lượng phần tử của mảng $array mới
11 array_reverse ($array) Đảo ngược vị trị các phần tử của mảng, phần tử cuối trở thành phần tử đầu tiên, phần tử kế cuối trở thành phần tử thứ nhì, … kết quả trả về là một mảng mới.
12 array_flip ($array) Trả về một mảng có khóa và giá trị được hoán đổi cho nhau so với $array (giá trị thành khóa và khóa thành giá trị)
13 array_sum ($array) Tính tổng các phần tử trong mảng
14 min ($array) Xác định phần tử nhỏ nhất trong mảng.
15 max ($array) Xác định phần tử lớn nhất trong mảng.
16 array_count_values ($array) Thống kê số lần xuất hiện của các phần tử trong mảng.
17 array_merge ($array1, $array2, … , $arrayn) Nhập 2 hay nhiều mảng thành một mảng duy nhất và trả về mảng mới
18 array_rand ($array, $number) Lấy ngẫu nhiên $number phần tử mảng $array và đưa vào mảng mới (lấy giá trị khóa)
19 array_search ($value, $array) Tìm phần tử mang giá trị $value trong mảng $array. Trả về khóa của phần tử tìm được
20 array_key_exists ($key, $array) Kiểm tra khóa $key có tồn tại trong mảng $array hay không ? Nếu có trả về giá trị true
21 in_array ($value, $array) Kiểm tra giá trị $value có tồn tại trong mảng $array hay không ? Nếu có trả về true
22 array_slice ($array, $begin, $finish) Trích lấy một đoạn phần tử của mảng $array từ vị trí $begin đến vị trí $finish. Phần tử đầu tiên (chỉ số 0), phần tử cuối cùng (chỉ số -1 hay count($array)-1)
23 array_change_key_case ($array, case) Chuyển đổi các key trong mảng thành chữ hoa hoặc chữ thường
24 implode ($str, $array) Chuyển đổi giá trị của mảng $array thành một chuỗi bao gồm các phần tử cách nhau bởi ký tựu $str
25 explode ($delimiter, $str) Chuyển một chuỗi thành một mảng. Tách chuỗi dựa vào $delimiter, mỗi đoạn tách ra sẽ thành một phần tử của mảng mới.
26 current($array) Truy xuất phần tử hiện tại của mảng
27 end($array) Truy xuất phần tử cuối cùng của mảng
28 next($array) Truy xuất phần  tử sau phần tử hiện tại của mảng
29 prev($array) Truy xuất phần tử trước phần tử hiên tại của mảng
30 reset() Quay về vị trí phần tử đầu tiên trong mảng
31 serialize ($value) Chuyển chuỗi/mảng/đối tượng $value thành một chuỗi đặc biệt để lưu vào cơ sở dữ liệu
32 unerialize ($value) Chuyển chuỗi đặc biệt về trạng thái ban đầu
33 shuffle ($array) Tạo ra mảng mới (mảng liên tục) với thứ tự các phần tử trong mảng bị thay đổi
34 compact() Tạo ra mảng mới từ các biến có sẵn
35 range() Sử dụng hàm range để tạo ra các phần tử của mảng
36 array_combine ($key, $values) Tạo một mảng mới có khóa được lấy từ mảng $keys và giá trị được lấy từ mảng $value theo tuần tự (yêu cầu số phần tử ở 2 mảng phải bằng nhau)
37 array_diff ($array1, $array2) Trả về một mảng bao gồm các phần tử có giá trị tồn tại trong mảng $array1 nhưng không tồn tại trong mảng $array2
38 array_diff_key ($array1, $array2) Trả về một mảng bao gồm các phần tử có khóa tồn tại trong mảng $array1 nhưng không tồn tại trong mảng $array2
39 array_diff_assoc ($array1, $array2) Trả về một mảng bao gồm các phần tử có khóa tồn tại trong mảng $array1 nhưng không tồn tại trong mảng $array2
40 array_intersect ($array1, $array2) Trả về một mảng bao gồm các phần tử giống nhau về giá trị giữa 2 mảng $array1 và $array2
41 array_intersect_key ($array1, $array2) Trả về một mảng bao gồm các phần tử giống nhau về khóa giữa 2 mảng $array1 và $array2
42 array_intersect_assoc ($array1, $array2) Trả về một mảng bao gồm các phần tử giống nhau về khóa và giá trị giữa 2 mảng $array1 và $array2
43 array_walk() Gửi các giá trị của mảng đến một hàm nào đó để xử lý và nhận kết quả trả về là một mảng mới
44 array_map() Gửi các giá trị của một hay nhiều mảng đến một hàm nào đó để xử lý và nhận kết quả trả về là một mảng mới
45 array_stice (array, offset, length, preserve) Trích xuất lấy một đoạn phần tử của mảng từ vị trí bắt đầu offset (vị trí bắt đầu của mảng là 0) và lấy length phần tử
46 array_splice (array1, offset, length, array2) Xóa bỏ một đoạn phần tử của mảng array1 từ vị trị bắt đầu và lấy length phần tử. Sau đó thay thế các phần tử bị loại bở bằng mảng array2
47 aort(array) Sắp xếp các phần tử trong mảng array tăng dền theo giá trị
48 rsort(array) Sắp xếp các phần tử trong mảng array giảm dền theo giá trị
49 ksort(array) Sắp xếp các phần tử trong mảng array tăng dền theo khóa
50 krsort(array) Sắp xếp các phần tử trong mảng array giảm dền theo khóa

 

 

Hàm trong PHP

  1. Hàm là gì ?
  • 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 đó.
  • Khối lệnh này chỉ cần xây dựng duy nhất một lần, và có thể được sử dụng nhiều lần trong toàn bộ quá trình.
  1. Có bao nhiều hàm trong PHP
  • Hàm trong PHP được xây dựng vô cùng đa dạng và phong phú, bao gồm các hàm xử lý chuỗi, số, mảng, ngày tháng, …
  • Chúng ta tạm thời chia làm 2 nhóm hàm:
    • Hàm được cung cấp sẵn bởi PHP
    • Nhóm hàm do người dùng tự định nghĩa.
  1. Làm sao để viết một hàng trong PHP
  • Vấn đề 1: Hàm không tham số và không có trả vê
  • Vấn đề 2: Sự trả về của hàm
  • Vấn đề 3: Truyền tham số vào hàm:
    • Phân biệt biến toán cục và biến cục bộ
    • Phân biệt tham chiếu và tham trị
  • Vấn đề 4: Tìm hiểu include và require.
    • Hàm không tham số và không có trả về
  • Xây dựng hàm vẽ các box
  • Lưu ý về cách đặt tên hàm
  • Biết cách khai báo và gọi hàm không có tham số và không có trả về.
    • Sự trả về của hàm
  • Xây dựng hàm vẽ các box với sự trả về của hàm return
  • Hàm trả về một giá trị
  • Hàm trả về nhiều giá trị
  • Hàm trả về kết quả true hoặc false
    • Truyển tham số vào hàm
  • Truyển nội dung vào cho box (hàm 1 tham số)
  • Truyển truyền rộng và chiều cao của box (hàm nhiêu tham số)
  • Gán giá trị mặc định cho tham số

Cấu trúc câu lệnh trong PHP

Câu điều kiện

  • Câu điều kiện là câu lệnh chúng ta thường xuyên sử dụng khi viết mã cho bất kì ngôn ngữ lập trình nào.
  • Câu điều kiện giúp chúng ta thực hiện những hành động khác nhau trong những điều kiện khác nhau.
  • Hai nhóm loại câu điều kiện
    • IF…ELSE
      • IF
      • IF … ELSE
      • IF … ELSE IF … ELSE
      • Ví dụ
<?php

$number = 12;

if($number &gt;= 0) {

Echo “Số dương”;

}

?>

Câu điều kiện SWITCH

  • Câu điều kiện switch có một điều kiện mặc định, nghĩa là khi giá trị đưa vào không thỏa mãn một điều kiện nào thì nó sẽ lấy các câu lệnh trong phần điều kiện mặc định để thực hiện.

Vòng lặp

  • Vòng lặp là một đoạn mã lệch trong chương trình được thực hiện lặp đi lặp lại cho đến khi thỏa mãn một điều kiện nào đó.
  • Trong PHP chúng ta có 4 loại vòng lặp
    • for
    • while
    • do … while
    • for … each
  • Vòng lặp for:
  • Vòng lặp while:
  • Vòng lặp do … while:
  • Break – continue
    • Câu lệnh break có chức năng thoát khỏi một vòng lệnh. Nó có thể được sử dụng để nhảy ra khỏi một vòng lặp
    • Câu lệnh continue có chức năng dừng vòng lặp tại giá trị đó và nhảy sang giá trị khác trong vòng lặp.
while (condition) {

continue;

break;

}

Toán tử trong PHP

  • Toán tử trong PHP

    • Toán tử số học: + – * / %
    • Toán tử gán: += -= *= /= %=
    • Toán tử ++ —
    • Toán tử so sánh > < >= <= == === != <> !===
    • Toán tử logic AND OR XOR && || !
    • Toán tử điều kiện
  • Thực hiện

    + – * /

<?php
 
  $x = 2;
 
  $y = $x + 2;
 
?>
  • Các toán tử này nằm trong nhóm “Toán tử số học”, trong nhóm này chúng ta còn có thể thực hiện các phép toán
    • % chia lấy phần dư
    • – phủ định của một số
  • Toán tử gán:

<?php
 
  $x = 2;
 
  $x *= 5;
 
?>
  • Chúng ta có thể áp dụng cách viết này cho các trường hợp + – * /
  • Cách viết này thuộc nhóm “toán tử gán”: += -= *= /=
  • ++$x và $x++ có gí khác nhau:
    • ++$x tăng $x lên một đơn vị, sau đó trả về giá trị của $x
    • $x++ trả về giá trị của $x, sau đó tăng x lên một đơn vị
    • –$x giảm $x xuống một đơn vị, sau đó trả về giá trị của $x
    • $x— trả về giá trị của $x, sau đó giảm x xuống một đơn vị
  • Toán tử so sánh:

    • == so sánh bằng
    • === so sánh bằng tuyệt đối
    • != so sách khác
    • !=== so sách khác tuyệt đối
    • <> so sánh khác
  • Toán tử logic

    • ! phủ định của một giá trị nào đó
  • Toán tử điều kiện

    • Cú pháp: (condition) ? value1 : value2;
    • Ví dụ:
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8”>
 
<?php
 
$variable = “PHP training”;
 
$result = (is_string($variable)) ? “Chuỗi” : “Không phải chuỗi”;
 
 
 
echo $result;
 
?>

Biến và Hằng trong PHP

Biến là gì?

  • Biến là một giá trị có thể thay đổi khi chương trình thực thi. Khi biến được tạo sẽ xuất hiện một vùng nhớ để lưu trữ.
  • Biến trong PHP chỉ tồn tại trong thời gian server phát sinh trang web. Sau khi đã phát trinh xong trang web, tất cả các biến đều bị xóa đi.
  • Một biến gồm 2 thành phàn cơ bản: tên biến và giá trị của biến

<?php

$firstName = “John”;

$lastName = “Smith”;

$number = 12;

?>

  • Quy định khi đặt tên biến:
    • Tên biến phải bắt đầu bằng 1 kí tự hoặc ký tự gạch dưới (ký hiệu _).
    • Tên biến chỉ bao gồm ký tự chữ, ký tự số và gạch dưới.
    • Không chứa ký tự khoảng trắng trong tên biến.
    • Phân biệt chữ hoa và chứ thường.
  • Giá trị
    • Khi các giá trị của biến được đặt trong dấu ngoặc kép (hoặc dấu ngoặc đơn) cho biết biến đó lưu trữ giá trị kiểu chuỗi.
    • Ngược lại cho biết biến đó lưu trữ giá trị kiểu số.
  • Ngoài kiều chuỗi, trong PHP còn có kiểu dữ liệu
    • Các kiểu dữ liệu thường được sử dụng trong PHP: string, numberic, bloolean, null, array, object.
    • Tạm thời chúng ta sẽ tập trung vào kiểu string và kiểu numberic. Các kiểu dữ liệu khác chúng ta sẽ được giới thiệu sau.
  • Chúng ta có 2 cách sau đề xác định kiểu dữ liệu của một biến nào đó:
    • Sử dụng hàm gettype()
    • Sử dụng hàm var_dump()
  • Có thể chuyển đổi dữ liệu của một biến nào đó hay không ?
    • Chúng ta hoàn toàn có thể chuyển đổi kiểu dữ liệu của một biến nào đó, bằng cách thực hiện một trong hai cách sau:
      • Sử dụng ép kiểu.
      • Sử dụng settype()
      • Để kiểm tra kiểu dữ liệu của một biến nào đó chúng ta có thể dùng các hàm is_numeric(), is_float(), is_string(), is_array(), is_object(), ….Hàm để kiểm tra kiểu dữ liệu của một biến:

Hằng số trong PHP

  • Khác với biến, hảng số là giá trị không thể thay đổi được.
  • Định nghĩa hằng
<?php

define(“PI”, 3.14);

echo “Value PI: ” . PI;

?>