post-image

PHP – Kiểu dữ liệu

Tổng quan

Cách chính để lưu trữ dữ liệu trong chương trình PHP là dùng biến. Dưới đây là những điều quan trọng nhất cần biết về các biến trong PHP.

  • Tất cả các biến trong PHP được biểu thị bằng một ký hiệu đô-la đứng đầu ($).
  • Giá trị của một biến là giá trị của lần gán gần đây nhất.
  • Các biến được gán với toán tử =, với biến ở bên trái và biểu thức được đánh giá ở bên phải.
  • Các biến có thể, nhưng không cần, phải được khai báo trước khi gán.
  • Các biến trong PHP không có kiểu nội tại – một biến không biết trước nó sẽ được sử dụng để lưu trữ một số hay một chuỗi ký tự.
  • Các biến được sử dụng trước khi được gán có giá trị mặc định.
  • PHP thực hiện rất tốt việc tự động chuyển đổi các kiểu từ kiểu này sang kiểu khác khi cần thiết.
  • Các biến PHP giống Perl.

PHP có tổng cộng tám kiểu dữ liệu mà chúng ta sử dụng để xây dựng các biến của mình –

  • Integer: kiểu số nguyên, không có dấu thập phân, ví dụ: 1996.
  • Double: kiểu thập phân, ví dụ: 12,123 hoặc 123,2.
  • Boolean: chỉ có 2 kiểu trả về là true hoặc false.
  • Null: là một kiểu đặc biệt chỉ có giá trị null.
  • String: là chuỗi ký tự, ví dụ: “học PHP”
  • Array: là một biến sử dụng để lưu trữ các giá trị, dữ liệu liên quan.
  • Object: là các instance của các class do người lập trình define.
  • Resources: Các loại tài nguyên đặc biệt không phải là một kiểu dữ liệu thực tế. Nó chứa các tham chiếu đến các chức năng và các nguồn lực ngoại vi đến PHP.

Tôi sẽ chỉ giải thích kiểu dữ liệu đơn giản trong chương này. Array và Object sẽ được giải thích riêng.

Kiểu dữ liệu Integer

Chúng là các số nguyên, không có dấu thập phân, như 1996. Chúng là loại đơn giản nhất. Chúng tương ứng với các số nguyên đơn giản, cả dương và âm. Số nguyên có thể được gán cho các biến hoặc chúng có thể được sử dụng trong các biểu thức, như vậy –

$int_var = 12345;
$another_int = -12345 + 12345;

Số nguyên có thể ở định dạng thập phân (cơ số 10), bát phân (cơ số 8) và thập lục phân (cơ số 16). Định dạng thập phân là định dạng mặc định, số nguyên bát phân được chỉ định với số 0 đứng đầu và số thập lục phân có số 0x ở đầu.

Đối với hầu hết các nền tảng phổ biến, số nguyên lớn nhất là (2 ** 31. 1) (hoặc 2,147,483,647) và số nguyên nhỏ nhất (âm nhất) là. (2 ** 31. 1) (hoặc .2,147,483,647).

Kiểu dữ liệu Double

Kiểu Double giống như này: 3,14159 hoặc 49,1. 

<?php
   $many = 2.2888800;
   $many_2 = 2.2111200;
   $few = $many + $many_2;
   
   print("$many + $many_2 = $few <br>");
?>

Nó tạo ra đầu ra trình duyệt sau:

2.28888 + 2.21112 = 4.5

Kiểu dữ liệu Boolean

Chúng chỉ có hai giá trị có thể có hoặc true hoặc false. PHP cung cấp một số hằng số đặc biệt để sử dụng như Booleans: TRUE và FALSE, có thể được sử dụng như vậy –

if (TRUE)
   print("This will always print<br>");

else
   print("This will never print<br>");

Thông dịch các kiểu dữ liệu khác dưới dạng Boolean

Dưới đây là các quy tắc để xác định “truth” của bất kỳ giá trị nào chưa thuộc kiểu Boolean –

  • Nếu giá trị là một số, nó là false nếu chính xác bằng 0 và true nếu ngược lại.
  • Nếu giá trị là một chuỗi, thì giá trị đó là false nếu chuỗi trống (không có ký tự nào) hoặc là chuỗi “0”, và ngược lại là true.
  • Giá trị của kiểu NULL luôn sai.
  • Nếu giá trị là một mảng, nó là false nếu nó không chứa các giá trị khác và nó đúng nếu ngược lại. Đối với một đối tượng, chứa một giá trị có nghĩa là có một biến thành viên đã được gán một giá trị.
  • Resources hợp lệ là true (mặc dù một số hàm trả về tài nguyên khi chúng thành công sẽ trả về FALSE khi không thành công).
  • Không sử dụng double như Booleans.

Mỗi biến sau đây có giá trị chân lý được nhúng trong tên của nó khi nó được sử dụng trong ngữ cảnh Boolean.

$true_num = 3 + 0.14159;
$true_str = "Tried and true"
$true_array[49] = "An array element";
$false_array = array();
$false_null = NULL;
$false_num = 999 - 999;
$false_str = "";

Kiểu dữ liệu Null

NULL là một kiểu đặc biệt chỉ có một giá trị: NULL. Để cung cấp cho một biến giá trị NULL, chỉ cần gán nó như thế này:

$my_var = NULL;

Hằng số đặc biệt NULL được viết hoa theo quy ước, nhưng thực ra nó không phân biệt chữ hoa chữ thường; bạn cũng có thể đã gõ –

$my_var = null;

Một biến đã được gán NULL có các thuộc tính sau:

  • Nó đánh giá là FALSE trong ngữ cảnh Boolean.
  • Nó trả về FALSE khi được kiểm tra với hàm IsSet().

Kiểu dữ liệu String

Chúng là các chuỗi ký tự, giống như “PHP hỗ trợ các hoạt động chuỗi”. Sau đây là các ví dụ hợp lệ về chuỗi

$string_1 = "This is a string in double quotes";
$string_2 = 'This is a somewhat longer, singly quoted string';
$string_39 = "This string has thirty-nine characters";
$string_0 = ""; // a string with zero characters

Các chuỗi được trích dẫn đơn lẻ được xử lý gần như theo nghĩa đen, trong khi các chuỗi được trích dẫn kép thay thế các biến bằng các giá trị của chúng cũng như diễn giải đặc biệt các chuỗi ký tự nhất định.

<?php
   $variable = "name";
   $literally = 'My $variable will not print!';
   
   print($literally);
   print "<br>";
   
   $literally = "My $variable will print!";
   print($literally);
?>

Điều này sẽ tạo ra kết quả sau:

My $variable will not print!
My name will print

Không có giới hạn nào về độ dài chuỗi – trong giới hạn của bộ nhớ khả dụng, bạn phải có thể tạo chuỗi dài tùy ý.

Các chuỗi được phân tách bằng dấu ngoặc kép (như trong “this”) được PHP xử lý trước theo cả hai cách sau:

  • Một số chuỗi ký tự bắt đầu bằng dấu gạch chéo ngược (\) được thay thế bằng các ký tự đặc biệt
  • Tên biến (bắt đầu bằng $) được thay thế bằng chuỗi biểu diễn giá trị của chúng.

Các thay thế trình tự thoát là –

  • \ n được thay thế bằng ký tự dòng mới
  • \ r được thay thế bằng ký tự xuống dòng
  • \ t được thay thế bằng ký tự tab
  • \ $ được thay thế bằng chính ký hiệu đô la ($)
  • \ “được thay thế bằng một dấu ngoặc kép đơn (“)
  • \\ được thay thế bằng một dấu gạch chéo ngược (\)

Kiểu dữ liệu Resources

Bạn có thể gán nhiều dòng cho một biến chuỗi đơn bằng cách sử dụng tài liệu tại đây

<?php
   $channel =<<<_XML_
   
   <channel>
      <title>What's For Dinner</title>
      <link>http://menu.example.com/ </link>
      <description>Choose what to eat tonight.</description>
   </channel>
   _XML_;
   
   echo <<<END
   This uses the "here document" syntax to output multiple lines with variable 
   interpolation. Note that the here document terminator must appear on a line with 
   just a semicolon. no extra whitespace!
   
END; print $channel; ?>

Điều này sẽ tạo ra kết quả sau:

This uses the "here document" syntax to output
multiple lines with variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!

<channel>
<title>What's For Dinner<title>
<link>http://menu.example.com/<link>
<description>Choose what to eat tonight.</description>

Phạm vi biến

Phạm vi có thể được định nghĩa là phạm vi sẵn có của một biến đối với chương trình mà nó được khai báo. Các biến PHP có thể là một trong bốn kiểu phạm vi:

  • Biến cục bộ
  • Tham số chức năng
  • Các biến toàn cục
  • Biến tĩnh

Đặt tên biến

Quy tắc đặt tên một biến là:

  • Tên biến phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới.
  • Tên biến có thể bao gồm số, chữ cái, dấu gạch dưới nhưng bạn không thể sử dụng các ký tự như +, -,%, (,). & , vân vân

Không có giới hạn kích thước cho các biến.

Tổng kết

Trên đây là tổng hợp về 8 kiểu dữ liệu trong PHP. Mong rằng bài viết này có hữu ích với bạn. Chúc bạn học tốt.

Xem thêm:

Leave a Reply

Your email address will not be published.