Học lập trình web Kỹ thuật lập trình PHP Lập trình PHP

Bài 3: Biến và kiểu dữ liệu trong PHP

I. Biến

a. Khai báo biến

Biến được xem là một nơi để chứa dữ liệu, thông tin. Trong PHP, biến được bắt đầu bằng ký tự $ sau đó là tên biến. Ví dụ:

$a = 10;
$b = 20;
$chuoi = "Hello world";

Ví dụ trên khai báo các biến $a, $b, $chuoi được gán các giá trị tương ứng.

b. Quy định khi đặt tên biến trong PHP

Đây là các quy định bắt buộc khi đặt tên biến trong PHP:

  • Biến bắt đầu bằng ký tự $, liền sau là tên của biến.
  • Tên biến phải bắt đầu với một chữ cái hoặc dấu gạch dưới (_).
  • Tên biến không được bắt đầu với một số.
  • Tên biến chỉ chứa chữ cái, chữ số và dấu gạch dưới.
  • Tên biến phân biệt hoa thường.

c. In giá trị của biến

Để in giá trị của biến lên màn hình thường sử dụng lệnh echo trong PHP. Ví dụ:

<?php
$txt = "Hello world!";
echo $txt;
?>

Hãy tạo một file test.php có nội dung như trên, lưu vào thư mục www và kiểm tra trên trình duyệt.

Hình 14 Xuất biến ra màn hình

Ví dụ xuất tổng của hai biến

<?php
$a = 10;
$b = 5;
echo $a + $b;
?>

Hãy tạo file test2.php có nội dung trên, lưu vào thư mục www và kiểm tra trên trình duyệt.

Hình 15 Xuất tổng ra màn hình

II. Kiểu dữ liệu

PHP là một ngôn ngữ không cần khai báo kiểu dữ liệu khi khai báo biến giống như C, Java, C#, v.v… PHP sẽ tự chuyển kiểu dữ liệu của biến phụ thuộc vào dữ liệu của nó. Các kiểu dữ liệu của PHP gồm có:

  • Số nguyên – interger
  • Số thực – float (hoặc double)
  • Chuỗi – string
  • Logic – boolean
  • Mảng – array
  • Đối tượng – object
  • Null
  • Resource

a. Số nguyên

Số nguyên (int) là một số dương hoặc âm không có dấu phẩy động, có giá trị từ -2.147.483.648 đến 2.147.483.647. Ví dụ:

<?php
$a = 10;
var_dump($a);
?>

Hàm var_dump sẽ cho biết giá trị của biến và kiểu dữ liệu của nó.

Hình 16 Giá trị và kiểu dữ liệu của biến $a

b. Số thực

Số thực (float, double, real number) là số với dấu phẩy động. Kiểu dữ liệu số thực có thể chứa cả số nguyên và số có dạng lũy thừa. Ví dụ:

<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
var_dump($a, $b, $c);
?>

Hình 17 Kiểu dữ liệu của các biến số thực

c. Chuỗi

Chuỗi (string) là một dãy các kí tự. Khi gán giá trị là chuỗi, cần đặt chuỗi bên trong cặp nháy kép (“”) hoặc nháy đơn (‘’). Ví dụ:

<?php
$chuoi = "Hello world!";
var_dump($chuoi);
?>

Hình 18 Giá trị và kiểu dữ liệu của chuỗi

d. Logic – boolean

Một biến có kiểu dữ liệu boolean chỉ có hai giá trị là true hoặc false. Ví dụ:

<?php
$bool = true;
var_dump($bool);
?>

Hình 19 Giá trị và kiểu dữ liệu boolean

e. Mảng

Mảng là một cấu dữ liệu đặc biệt có thể chứa nhiều dữ liệu bên trong một biến. Chi tiết về mảng sẽ được giới thiệu trong các bài sau của giáo trình này.

Hình 20 Giá trị và kiểu dữ liệu của từng phần tử trong mảng

f. Đối tượng – Object

Đối tượng là một kiểu dữ liệu do người dùng định nghĩa, nó không đơn giản chỉ là một kiểu dữ liệu. Đối tượng có thể chứa thuộc tính và các phương thức. Đối tượng sẽ được giới thiệu trong chương trình PHP Nâng cao.

<?php
class DoiTuong {
public $thuocTinh;
public function DoiTuong() {
$this->thuocTinh = "Hello world";
}
}

$doiTuong = new DoiTuong();

echo $doiTuong->thuocTinh;
?>

Hình 21 Kết quả khi thực thi đoạn code trên

g. Giá trị null

NULL là một giá trị rỗng, một biến có giá trị null khi biến được khởi tạo mà không được gán giá trị.

<?php
$a = null;
var_dump($a);
?>

Hình 22 Giá trị null

h. Resource

Resource thật chất không phải là một kiểu dữ liệu, nó là một tham chiếu đến hàm hoặc tài nguyên bên ngoài PHP. Một trong những ví dụ về resource là việc kết nối cơ sở dữ liệu.

<?php
$ketnoi = mysql_connect('localhost', 'root', '');
var_dump($ketnoi);
?>

Hình 23 Kiểu resource

III. Hằng

Hằng là một đại lượng có giá trị cố định không thể thay đổi trong suốt quá trình thực thi. Tên của một hằng số bắt đầu bằng kí tự hoặc dấu gạch dưới và không có dấu $ phía trước tên hằng số. Đây cũng là điểm khác biệt giữa hằng số và biến.

Khai báo một hằng số sử dụng hàm definde(<Tên hằng số>, <Giá trị>, <Không phân biệt hoa thường>) trong đó:

  • <Tên hằng số>: Tên của hằng số đặt theo nguyên tắc đã trình bày ở trên.
  • <Giá trị>: Giá trị của hằng số, giống gán giá trị cho một biến.
  • <Không phân biệt hoa thường>: mặc định là false, nếu là true hằng số sẽ không phân biệt tên hoa và thường.

Ví dụ:

<?php
define('HANGSO', 'Welcome to PHP');
echo HANGSO;
?>

Hình 24 Kết quả ví dụ hằng số