Bài 2: Giới thiệu các kiểu dữ liệu trong PHP

Thứ hai - 04/07/2016 04:25

Với một số dự án đơn giản thì kiểu dữ liệu chỉ cần dùng là số và chữ, nhưng với các dự án phúc tạp chỉ 2 loai dữ liệu là không đủ vì vậy những lập trình viên thường chia dữ liệu thành nhiều kiểu khác nhau được gọi là các kiểu cơ bản.

Trong php có tổng cộng 7 kiểu dữ liệu

1Kiểu INT
2Kiểu Boolean
3Kiểu Số Thực (float, double)
4Kiểu Chuỗi
5Kiểu Mảng (array)
6Kiểu NULL
7Kiểu Đối Tượng (object)

 

I. Kiểu dữ liệu INT

Là một tập hợp bao gồm các số {...,-2,-1,0,1,2,...} Integer có thể được chỉ định trong cơ số 10, cơ số thập lục phân hay cơ số bát phân, tuỳ chọn đi trước bởi dấu - hay +

<?php
$thap_phan = 123; // Số thập phân
$so_am = -123; // Số âm
$bat_phan = 0123; // số bát phân
$thap_luc_phan = 0x1A; // và số thập lục phân
?>

Trong lập trình PHP ta thể hiện kiểu INT là một số độc lập không được bao quanh bởi dấu nháy, PHP không hỗ trợ nhiều kiểu Unsigned Integer (Số nguyên dương) nên nếu bạn sử dụng vượt quá giới hạn của nó thì mặc nhiên trình biên dịch sẽ hiểu đây là kiểu Float (số thực), tuy nhiên không phải lúc nào điều này cũng đúng cho trường hợp số dương.

Cách khai náo kiểu INT trong PHP
<?php
// biến $soluong là kiểu INT có giá trị = 20
$soluong = 20; 
?>

Ngoài ra để kiểm tra một biến nào đó có phải kiểu INT không bạn dùng 2 hàm is_int($bien) hoặc is_integer($bien), kết quả trả về giá trị True nếu là kiểu INTFalse nếu không phải kiểu INT.

II. Kiểu dữ liệu boolean

Trong PHP kiểu dữ liệu boolean là kiểu đơn giản nhất, nó chỉ chứa 2 giá trị đúng hoặc sai (TRUE hoặc FALSE). Khai báo kiểu dữ liệu này trong PHP không phân biệt viết hoa hay thường, nghĩa là bạn gõ TRUE hoặc trueFALSE hoặc false đều được.

Ta đi vào ví dụ khai báo kiểu dữ liệu booleam

<?php
$is_admin = false; // biến $admin là kiểu boolean có gái trị là false
?>

Với kiểu boolean này cũng có 2 cái sử dụng (bool) hoặc (boolean)
Ví dụ với 2 cách ép kiểu

<?php
$bool = 1; // biến $bool là kiểu int
$bool = (bool)$bool; // lúc này biến $bool sẽ có kiểu boolean
// Hoặc
$bool = (boolean)$bool; // lúc này biến $bool sẽ có kiểu boolean
?>

Cá ký tự như 0 ,'0' ,'' , null, đều quy về FALSE, ngược lại các giá trị khác được quy về TRUE

<?php
$a = 123; // TRUE
$b = 0; // FALSE
$c = '0'; // FALSE
$d = 'a123b' // TRUE
$e = null; // FALSE
$f = ''; // FALSE
?>

III. Kiểu số thực

Nếu số nguyên là những số không dư thì số thực là những số có phần dư. Kích cỡ của nó phụ thuộc xác định phụ thuộc vào từng platform nhưng giá trị lớn nhất xấp xỉ 1.8e308. Trong PHP kiểu số thực gồm có kiểu float, double.

<?php
$a = 1.23; // Kiểu số thực
?>

Ép dữ liệu sang kiểu số thức bằng cách
Bạn dùng (float), (double) để chuyển kiểu dữ liệu sang số thực cho một biến

<?php
$a = 123; // biến $a kiểu int
$a = (float)$a; // Biến $a lúc này kiểu số thực (float)
$a = (double)$a; // Biến $a lúc này kiểu ố thực (double)
?>

Để kiểm tra một biến kiểu số thực.

Bạn dùng hàm is_float($bien) để kiểm tra cho kiểu float, is_double($bien) để kiểm tra cho kiểu double. Kết quả 2 hàm này trả về TRUE nếu đúng, FALSE nếu sai.

IV. Kiểu chuỗi

Kiểu chuỗi gồm 2 kiểu là Stringchar, gồm 256 ký tự khác nhau và mỗi ký tự là một byte. Trong PHP để khai báo kiểu chuỗi ta chỉ cần gán một giá trị chuỗi cho một biến, lưu ý mỗi chuỗi phải đặt trong dấu nháy đơn 'giá trị chuỗi' hoặc dấu nháy kép "giá trị chuỗi"

Ép dữ liệu sang kiểu chuỗi bằng cách

Bạn dùng (String) để chuyển kiểu dữ liệu sang chuỗi cho một biến

<?php
$a = 123; // khai báo biến $a kiểu int có giá trị 123
$a = (string)$a; //Chuyển biến $a thành kiểu chuỗi và có giá trị là '123'
?>

Để kiểm tra một biến kiểu String.

Bạn dùng hàm is_string($bien) để kiểm tra. Kết quả 2 hàm này trả về TRUE nếu đúng, FALSE nếu sai.

Bài 2.1 kiểu dữ liệu trong PHP -> Xem tiếp

IV. Kiểu mảng (Array)

Trong lập trình PHP kểu mảng là tập hợp các danh sách phần tử có cùng hoặc khác kiểu dữ liệu, đây là kiểu dữ liệu có độ khá phức tạp tính toán cao. Có 2 loại mảng là mảng một chiềumảng nhiều chiều.

Để khởi tạo kiểu dữ liệu mảng ta dùng cú pháp sau

<?php
$ten_mang = array(); // khởi tạo một mảng gán vào biến $ten_mang
?>

Lưu ý: Để in các phần tử của mảng ra màn hình ta dùng hàm var_dump($mang); . Hàm này có thể sử dụng được tất cả các kiểu dữ liệu trong php.

Sau đây là 4 cách khởi tạo mảng và xuất mảng trong PHP

Cách 1:

<?php
$nhanvien= array('Nguyễn A', 'Nguyễn B');
print_r($nhanvien);
?>
Cách 2
<?php
$nhanvien= array(
0 => 'Nguyễn A',
1 => 'Nguyễn B'
);
print_r($nhanvien);
?>
Cách 3
<?php
$nhanvien= array();
$nhanvien[0] = 'Nguyễn A';
$nhanvien[1] = 'Nguyễn B';
print_r($nhanvien);
?>
Cách 4
<?php
$nhanvien = array();
$nhanvien [] = 'Nguyễn A';
$nhanvien [] = 'Nguyễn B';
print_r($nhanvien );
?>
 

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.
 

<?php
$nhanvien= array(
0 => 'Nguyễn A',
1 => 'Nguyễn B'
);
echo $nhanvien[0]; // Xuất ra màn hình phần tử 0 => Nguyễn A
echo $nhanvien[1]; // Xuất ra màn hình phần tử 1 => Nguyễ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ự.

<?php
$nhanvien= array(
'nhanvien_a' => 'Nguyễn A',
'nhanvien_b' => 'Nguyễn B'
);
print_r($nhanvien);
?>

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.

<?php
$nhanvien= array();
$nhanvien['nhanvien_a'] = 'Nguyễn A';
$nhanvien['nhanvien_b'] = 'Nguyễn B';
print_r($nhanvien);
?>

Xét ví dụ sau:

Trong ví dụ này điều đặc biệt là lúc gán nhân viên Nguyễ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 nhanvien_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 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 nhân viên Nguyễ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.

<?php
$nhanvien= array();
$nhanvien['nhanvien_a'] = 'Nguyễn A';
$nhanvien['nhanvien_b'] = 'Nguyễn B';
echo $nhanvien['nhanvien_a']; // xuất ra màn hình nhân viên Nguyễn A
echo $nhanvien['nhanvien_b']; // xuất ra màn hình nhân viên Nguyễn B
?>

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây

Chat với WEBPHANG