Phần 2 - Tổng hợp các thể loại dữ liệu trong PHP
Trong bài viết trước chúng ta đã tìm hiểu về phần 1 các loại dữ liệu trong PHP. Để tiếp tục, chúng ta sẽ đi tiếp phần 2. Trong bài này chúng ta sẽ đi qua các phần còn lại. Mời các bạn theo dõi.
Mảng Có Chỉ Mục
Xét ví dụ sau:
Ví dụ 17: thêm phần tử trong mảng 2 chiều:
Ví dụ 18: truy xuất phần tử trong mảng 2 chiều:
Mảng Có Chỉ Mục
Là mảng có các phần tử được định danh một chỉ mục (kiểu số) và bắt đầu bằng số 0 và phần tử cuối cùng có chỉ mục là
(n-1)
, trong đó n là tổng số phần tử của mảng. Điều này có nghĩa nếu mảng của bạn có 10 phần từ thì lần lượt các vị trí phần tử trong mảng là:[0] – [1] – [2] – [3] – [4] – [5] – [6] – [7] – [8] – [9]
Quay lại 4 cách giải của ví dụ trên:
Với cách 1: Bạn khởi tạo một mảng và gán trực tiếp 2 phần từ vào, vì mảng bắt đầu từ 0 nên nó tự hiểu phần tử đầu tiên có chỉ mục =0, và phần tử thứ 2 = 1.
Với cách 2: Bạn khởi taọ một mảng và gán trực tiếp 2 phần tử vào, nhưng lúc gán bạn có ghi rõ các chỉ mục cho từng phần tử.
Với cách 3: Ban khởi tạo một mảng rỗng. sau đó bạn dùng 2 lệnh để gán 2 phần tử vào, mỗi lệnh gán bạn có chỉ rõ chỉ mục.
Với cách 4: Bạn khởi tạo một mảng rỗng, sau đó bạn dùng 2 lệnh gán 2 phần tử vào nhưng bạn lại không chỉ rõ chỉ mục, lúc này PHP sẽ kiểm tra thấy mảng đang rỗng nên phần tử đầu tiên nó sẽ mặc định gán chỉ mục = 0, và phần tử tiếp theo sẽ bằng phần tử trước nó + 1 tức là sẽ = 1.
Để truy xuất các phần tử của mảng chỉ mục ta dùng cú pháp sau:
$tenmang[$index];
trong đó $index
là chỉ mục bạn muốn lấy.
Ví dụ 14:
1
2
3
4
5
6
7
8
| <?php $sinhvien = array ( 0 => 'Nguyễn Văn A' , 1 => 'Nguyễn Văn B' ); echo $sinhvien [0]; // Xuất ra màn hình phần tử 0 => Nguyễn Văn A echo $sinhvien [1]; // Xuất ra màn hình phần tử 1 => Nguyễn Văn B ?> |
Mảng Kết Hợp
Là Mảng có các phần tử được định danh bằng một cái tên và đương nhiên vị trí các phần tử sẽ không có thứ tự.
Ví dụ 15:
1
2
3
4
5
6
7
| <?php $sinhvien = array ( 'sinhvien_a' => 'Nguyễn Văn A' , 'sinhvien_b' => 'Nguyễn Văn B' ); print_r( $sinhvien ); ?> |
Tương tự như những ví dụ ở phần mảng có chỉ mục, mình có thêm cách khai báo.
1
2
3
4
5
6
| <?php $sinhvien = array (); $sinhvien [ 'sinhvien_a' ] = 'Nguyễn Văn A' ; $sinhvien [ 'sinhvien_b' ] = 'Nguyễn Văn B' ; print_r( $sinhvien ); ?> |
Xét ví dụ sau:
1
2
3
4
5
6
| <?php $sinhvien = array (); $sinhvien [ 'sinhvien_a' ] = 'Nguyễn Văn A' ; $sinhvien [ 'sinhvien_b' ] = 'Nguyễn Văn B' ; print_r( $sinhvien ); ?> |
Trong ví dụ này điều đặc biệt là lúc gán sinh viên Nguyễn Văn B ta không truyền tên cho nó mà chỉ dùng dấu
[]
để thêm vào. Điều gì sẽ xảy ra? Câu trả lời như sau: Trình biên dịch sẽ chạy dòng thứ 1 khởi tạo một mảng rỗng, dòng thứ 2 thêm một phần tử cho mảng với tên sinhvien_a, dòng thứ 3 nó sẽ thấy ko có truyền chỉ mục nên nó sẽ lưu giá trị Nguyễn Văn B dưới dạng chỉ mục. Nó xét thấy trong mảng này chưa có chỉ mục nào (vì dòng 2 truyền dạng kết hợp), nên sinh viên Nguyễn Văn B sẽ được lấy chỉ mục = 0.
Việc truy xuất các phần tử trong mảng kết hợp cũng tương tự như mảng chỉ mục ta dùng cú pháp sau:
$tenmang[$name]
, trong đó$name
là tên của phần tử bạn muốn lấy ra.
Ví dụ 16:
1
2
3
4
5
6
7
| <?php $sinhvien = array (); $sinhvien [ 'sinhvien_a' ] = 'Nguyễn Văn A' ; $sinhvien [ 'sinhvien_b' ] = 'Nguyễn Văn B' ; echo $sinhvien ['sinhvien_a]; // xuất ra màn hình sinh viên Nguyễn Văn A echo $sinhvien ['sinhvien_b]; // xuất ra màn hình sinh viên Nguyễn Văn B ?> |
Mảng một chiều
Tất cả những ví dụ ở trên gọi là mảng 1 chiều (gồm mảng 1 chiều chi mục, mảng một chiều kết hợp)
Mảng Nhiều Chiều
Là mảng có nhiều chỉ mục cho từng phần tử, ví dụ mảng 2 chiều thì mỗi phần tử có 2 chỉ muc, 3 chiều thì mỗi phần tử có 3 chỉ mục, …
Mảng nhiều chiều thực chất cũng chỉ là mảng 1 chiều nhưng được thể hiện dưới dạng nhiều chiều.
Mảng nhiều chiều thực chất cũng chỉ là mảng 1 chiều nhưng được thể hiện dưới dạng nhiều chiều.
Xem hình minh họa mảng 2 chiều sau được biểu hiện bằng số dòng và số cột (nghĩa là 2 chiều giống trong hình học không gian 2 chiều), mỗi phần tử sẽ được định vị trí ở điểm giao nhau của chỉ số cột và dòng hiện tại.
Ví dụ 17: thêm phần tử trong mảng 2 chiều:
1
2
3
4
5
| <?php $a = array (); $a [0][1] = 123; $a [0][2] = 321; ?> |
1
2
3
4
5
6
7
| <?php $a = array (); $a [0][1] = 123; $a [0][2] = 321; echo $a [0][1]; // in ra giá trị 123 echo $a [0][2]; // in ra giá trị 321 ?> |
Kiểm tra một biến kiểu mảng
Để kiểm tra một biến có phải kiểu mảng (array) không ta dùng hàm
is_array($bien)
, hàm này trả về TRUE nếu đúng và FALSE nếu không đúng.
6. Kiểu giá trị Null
Đây là kiểu đặc biệt trong PHP và cũng như các ngôn ngữ lập trình khác, nó mang giá trị rỗng.
Lúc bạn khởi tạo một biến và bạn gán = NULL thì sẽ hệ thông sẽ không tốn bộ nhớ để lưu trữ, nên việc sử dụng nó rất có lợi.
Kiểu NULL khi ép kiểu sang kiểu INT thì bằng 0, khi ép kiểu sang kiểu chuỗi thì = rỗng, và khi ép sang kiểu boolean thì mang giá trị FALSE.
Ví dụ 19:
1
2
3
4
5
6
| <?php $a = null; // Khởi tạo biến $a và gán giá trị null $b = (int) $a ; // Biến $b có giá trị là ( 0 ) $c = (string) $a ; // Biến $c có giá trị rỗng ( '' ) $d = (bool) $a ; // Biến $d có giá trị FALSE ?> |
Kiểm tra một biến có giá trị null
Để kiểm tra một biến có giá trị null hay không ta dùng hàm
is_null($bien)
. Biến này trả về TRUE nếu đúng và FALSE nếu không đúng.7. Kiểu Object (Đối Tượng)
Riêng kiểu Đối Tượng (Object) thì nó liên quan đến phần OOP(Lập trình hướng đối tượng) nên tạm thời các bạn chưa quan tâm nó vội, qua bài khác ta sẽ đề cập đến nó.
8. Kết thúc bài học
Các bạn thấy các kiểu dữ liệu trong PHP rất là nhiều và cách sử dụng nó thật sự đơn giản hơn các kiểu dữ liệu trong ngôn ngữ lập trình khác. Hy vọng bài này sẽ là tiền đề để các bạn đam mê ngành lập trình web php.
Phần 2 - Tổng hợp các thể loại dữ liệu trong PHP
Reviewed by Unknown
on
05:30
Rating:
Không có nhận xét nào: