By GokiSoft.Com| 18:14 04/06/2020|
Tài Liệu PHP

PHP Variables - Biến

Tạo biến trong PHP

Một biến trong PHP bắt đầu với ký tự $, sau đó là tên biến:

Ví dụ

<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;
?>

Sau khi thực hiện các câu lệnh trên, biến $txt sẽ giữ giá trị Hello world!, biến $x có giá trị 5, và $y có giá trị 10.5.

Note: Khi bạn gán giá trị string cho một biến, hãy đặt trong dấu ngoặc kép.

Note: Không giống như các ngôn ngữ lập trình khác, PHP không có lệnh khai báo một biến. Nó được khởi tạo ngay khi bạn gán giá trị đầu tiên cho nó.


PHP Variables - Biến

Quy tắc cho các biến PHP:

  • Một biến bắt đầu bằng dấu $, sau đó là tên biến
  • Tên biến phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới
  • Một tên biến không thể bắt đầu bằng một số
  • Tên biến chỉ có thể chứa các ký tự chữ, số và dấu gạch dưới (A-z, 0-9, và _ )
  • Tên biến có phân biệt chữ hoa chữ thường ($age và $AGE là hai biến khác nhau)

Output Variables - Xuất giá trị biến

Câu lệnh echo thường được sử dụng để xuất dữ liệu ra màn hình.

Ví dụ sau sẽ cho thấy cách xuất văn bản và một biến:

Ví dụ

<?php
$txt = "W3Schools.com";
echo "I love $txt!";
?>

Ví dụ sau sẽ tạo ra cùng một đầu ra như ví dụ trên:

Ví dụ

<?php
$txt = "W3Schools.com";
echo "I love " . $txt . "!";
?>

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

Ví dụ

<?php
$x = 5;
$y = 4;
echo $x + $y;
?>


PHP là ngôn ngữ khá tự do

Trong ví dụ trên, chúng ta không phải nói với PHP loại dữ liệu nào là biến.

PHP tự động liên kết kiểu dữ liệu với biến, tùy thuộc vào giá trị của nó. Vì các kiểu dữ liệu không chặt chẽ, bạn có thể thực hiện những việc như thêm chuỗi vào số nguyên mà không gây ra lỗi.

Trong PHP 7, khai báo kiểu đã được thêm vào. Nó sẽ đưa ra tùy chọn để chỉ định kiểu dữ liệu như mong muốn khi khai báo hàm.


PHP Variables Scope - Phạm vi biến

Trong PHP, các biến có thể được khai báo ở bất cứ đâu trong tập lệnh.

Phạm vi của một biến là một phần của tập lệnh trong đó biến có thể được tham chiếu / sử dụng.

PHP có ba phạm vi biến khác nhau:

  • local - cục bộ
  • global - toàn cục
  • static - tĩnh

Biến Global và Local

Một biến được khai báo bên ngoài hàm có phạm vi GLOBAL và chỉ có thể được truy cập bên ngoài hàm:

Ví dụ

Biến global:

<?php
$x = 5; // global scope

function myTest() {
  // using x inside this function will generate an error
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

echo "<p>Variable x outside function is: $x</p>";
?>

Một biến được khai báo trong hàm có phạm vi LOCAL và chỉ có thể được truy cập trong hàm đó:

Ví dụ

Biến local:

<?php
function myTest() {
  $x = 5; // local scope
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>

Bạn có thể có các biến cục bộ có cùng tên trong các hàm khác nhau, bởi vì các biến cục bộ chỉ được nhận dạng bởi hàm mà chúng được khai báo.


PHP global Keyword

Keyword global được sử dụng để truy cập biến global từ bên trong một hàm.

Để làm được điều đó, hãy sử dụng keyword global trước các biến (bên trong hàm):

Ví dụ

<?php
$x = 5;
$y = 10;

function myTest() {
  global $x, $y;
  $y = $x + $y;
}

myTest();
echo $y; // outputs 15
?>

PHP cũng lưu trữ tất cả các biến global trong một mảng được gọi là $GLOBALS[index]. Giá trị index giữ tên của biến. Mảng này cũng có thể truy cập từ bên trong các hàm và có thể được sử dụng để cập nhật các biến global trực tiếp.

Ví dụ trên có thể được viết lại như thế này:

Ví dụ

<?php
$x = 5;
$y = 10;

function myTest() {
  $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}

myTest();
echo $y; // outputs 15
?>



PHP static Keyword

Thông thường, khi một hàm được thực thi xong, tất cả các biến của nó sẽ bị xóa. Tuy nhiên, đôi khi chúng ta muốn biến local KHÔNG bị xóa. Chúng ta cần nó cho công việc khác.

Để làm điều đó, sử dụng keyword static khi bạn lần đầu tiên khai báo biến:

Ví dụ

<?php
function myTest() {
  static $x = 0;
  echo $x;
  $x++;
}

myTest();
myTest();
myTest();
?>

Sau đó, mỗi lần hàm được gọi, biến đó sẽ vẫn có giá trị chứa trong lần cuối hàm được gọi.

Note: Biến vẫn là cục bộ của hàm.