01/10/2018, 15:29

Bài 3: Các Loại Biến, Kiểu Dữ Liệu Trong PHP

Cách chính yếu để lưu trữ thông tin trong giữa chương trình PHP là sử dụng một biến. Sau đây là những thứ quan trọng để biết về biến trong PHP: Tất cả các biến trong PHP được biểu thị bằng dấu $ ở đầu Giá trị của biến là giá trị của nó được gán gần nhất Ví dụ: $a=5; $a= 5+1; ...

Cách chính yếu để lưu trữ thông tin trong giữa chương trình PHP là sử dụng một biến.

Sau đây là những thứ quan trọng để biết về biến trong PHP:

  • Tất cả các biến trong PHP được biểu thị bằng dấu $ ở đầu
  • Giá trị của biến là giá trị của nó được gán gần nhất

Ví dụ: $a=5;

$a= 5+1;

$a=4;

Vậy giá trị của biến a là 4

  • Giá trị của biến được gán bằng toán tử = (như ví dụ trên ta thấy) với biến nằm bên tay trái và các biểu thức được tính bên phải
  • Các biến không cần phải khai báo trước khi được gán

Như ở một số ngôn ngữ lập trình khác bạn cần phải khai báo biến trước khi sử dụng,còn PHP thì không cần bạn có thể không cần khai báo biến $a như ví dụ trên và có thể sử dụng ngay bằng cách gán giá trị cho nó ngay lập tức

Ví dụ $a = 150; vậy khi bạn cho giá trị biến a là số nguyên thì PHP sẽ tự hiểu nó là biến số nguyên (rất thông minh )

  • PHP đã làm một việc rất tốt là tự động chuyển kiểu của biến thành cái khác khi cần thiết

Giả sử bạn có $a=2; và $b=”2”;

Vậy nếu bạn tính tổng = $a + $b; thì nó sẽ tự hiểu giá trị của $b là số 2 chứ không phải là chuỗi 2. Và kết quả là 4 . Tôi khuyến cáo các bạn nên cẩn thận với kiểu tự động này, đôi khi dẩn đến kết quả ngoài ý muốn của các bạn, tốt nhất là các bạn nên khai báo và sử dụng đúng giá trị, đúng kiểu.

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

  • Integers – kiểu số nguyên
  • Doubles – kiểu số thực, như 3.14159
  • Booleans – kiểu có 2 giá trị là true (đúng) hoặc false(sai)
  • Null – là một kiểu đặc biệt chỉ có giá trị là null, tức là khống có nghĩa
  • Strings – kiểu chuỗi, như: “PHP Tutorial by dammelaptrinh”
  • Arrays – kiểu mảng, được đặt tên và lập chỉ mục của các giá trị khác,như: a(1,2,4..) một mãng a chứa các giá trị bên trong
  • Objects – kiểu đối tượng được định nghĩa trong class mà có thể được đóng gói 2 loại khác nhau của các biến và các hàm
  • Resources – là các biến đặc biệt nắm giữ tham chiếu đến nguồn bên ngoài PHP như là giữ kết nối database

Năm kiểu đầu tiên là các kiểu đơn giản, hai cái kế tiếp là mảng và đối tượng thì là kiểu hợp nhất, 2 kiểu này có thể đóng gói các giá trị và loại giá trị tùy ý mà kiểu đơn giản không thể làm được.

Chúng ta chỉ diển giải các kiểu dữ liệu đơn giản trong bài học này. Arrays và Objects sẽ được diễn giải ở bài học riêng.

Integers

Chúng là những số nguyên, mà không có một dấu thập phân, như 4195. Nó là những loại đơn giản nhất. Bao gồm số âm và số dương. 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ư sau:

$int_var = 12345;

$another_int = -12345 + 12345;

Doubles

Chúng giống như 3.14 , 41.1. Mặc định số thực sẽ lấy lượng tối thiểu số thập phân cần thiết như ví dụ sau:

<?php

$number_1=2.2888800;

$number_2=2.2111200;

$total=$number_1 + $number_2;

Print(“$number_1 + $number_2 = $total”);

?>

Nếu các bạn chạy đoạn mã trên thì sẽ cho ra kết quả

2.28888+2.21112=4.5 (00 là số xem như thừa và được cắt bỏ)

Boolean

Chúng chỉ có 2 giá trị có thể đúng hoặc sai, PHP cúng cấp 2 hằng số đặc biệt để sử dụng cho kiểu dữ liệu này là TRUE và FALSE.

If(TRUE)

Print(“Cái này sẽ luôn in ra”);

Else

Print(“Cái này sẽ không bao giờ in ra”);

Giải thích thêm những kiểu khác mang ý nghĩa như Booleans

  • Nếu giá trị là số thì nó là true, và chính xác bằng 0 thì nó sẽ là false
  • Nếu giá trị là chuỗi, nó sẽ là false nếu chuỗi empty (rỗng) hoặc chuỗi là “0”, ngoài ra sẽ là true
  • Giá trị của kiểu NULL luôn luôn là false
  • Nếu giá trị là một mảng,nó là false nếu mảng không chứa giá trị, ngược lại là true.
  • Giá trị của resources là true khi một số chức năng trả về resource nếu thành công và false nếu không thành công. Như bạn connect database chẳng hạn.

$true_num = 3 + 0.14159;//true

$true_str = “Tried and true”;//true

$true_array[49] = “An array element”;//true

$false_array = array();//false

$false_null = NULL;//false

$false_num = 999 – 999;//false

$false_str = “”;//false

NULL

NULL là kiểu đặc biệt chỉ có một giá trị là null. Gán một biến có giá trị là null đơn giản ta làm như sau:

$var = null;

Một biến mà được gán là null thì có các thuộc tính sau:

  • nó mang ý nghĩa false trong Boolean
  • trả về false khi kiễm tra bằng hàm isset().

Strings

Chuỗi là một dãy nối tiếp các ký tự như “PHP Tutoirial at dammelaptrinh.com”

$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

Lưu ý: ở một khía cạnh nào đó thì việc sử dụng nháy kép “ và nháy đơn ‘ để biểu diễn chuối mang ý nghĩa như nhau. Nhưng nếu bạn chỉ đơn giản in ra một chuỗi chỉ là những ký tự theo đúng giá trị của nó thì sẽ dùng dấu nháy đơn. Còn trong chuỗi mang giá trị kèm theo của một biến thì sẽ dùng dấu nháy kép. Ta xét ví dụ sau:

<?php

$variable = “name”;

$literally = ‘My $variable will not print!’;

print($literally);

print “<br>”;

$literally = “My $variable will print!”;

print($literally);

?>

Kết quả sẽ là:

My $variable will not print!

My name will print

Như bạn thấy câu lệnh gán $literally = ‘My $variable will not print!’; có chứa biến giá trị là $variable nhưng lại đặt trong dấu nháy đơn nên PHP chỉ hiểu đó là ký tự của chuổi bình thường mà không đổi ra giá trị của nó khi in ra màn hình. Và câu lệnh thứ 2 thì dùng dấu kép nên PHP sẽ đổi giá trị của biến rồi in ra. Cho nên nếu chỉ là chuổi ký tự thì các bạn nên dùng dấu nháy đơn sẽ chạy nhanh hơn là nếu đưa vào trong dấu nháy kép.

Vì sao vậy: vì nếu chỉ là in ra giá trị là một chuỗi ký tự thực, ko có chứa biến giá trị, mà lại đặt trong dấu nháy kép thì php phải tốn công xem xét, dò tìm và chuyển đổi giá trị nếu có biến. còn dùng nháy đơn thì php chỉ làm 1 công việc duy nhất là in nó ra những thứ chứa trong đó mà không cần phải suy nghĩ gì thêm.

Không giới hạn chiều dài của chuỗi, bạn có thể gán bao nhiêu cũng được miễn là bộ nhớ cho phép. Một số ký hiệu đặc biệt giúp chúng ta trình bày kết quả:·

là xuống dòng mới·

trở ra đầu dòng·

là tab·

$ là sẽ lấy ký tự $·

” lấy ký tự nháy kép·

\ là lấy dấu

Here Document

Bạn có thể gán nhiều dòng tới một biến chuỗi duy nhất bằng cách sử dụng here document

<?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;

?>

Và kết quả là :This uses the “here document” syntax to outputmultiple lines with variable interpolation. Notethat the here document terminator must appear on aline 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 của biến

Phạm vi của biến được định nghĩa trong dãy giá trị của biến tại nơi được khai báo. Trong PHP các biến có thể là một trong bốn kiểu phạm vi như sau:

  • Biến cục bộ
  • Các đối số trong hàm
  • Biến toàn cục
  • Biến tĩnh

Đặt tên biến

            Các quy tắc để đặt tên biến là:

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

Bài kế tiếp chúng ta sẽ làm việc với các hằng số trong PHP (constant).

Xin hẹn gặp lại các bạn ở bài kế tiếp. Bye bye!!!

0