Biến toàn cục và biến cục bộ

  • Home
  • Forum
  • Tự Học HTML
  • Tự Học Javascript
  • Tự Học PHP

MỞ ĐẦU

  • PHP mở đầu
  • Chuẫn bị để học PHP
  • Trang PHP đầu tiên

KIỂU DỬ LIỆU

  • Biến PHP
  • Biến và giá trị
  • Biểu thức và các toán tử cơ bản
  • Một số toán tử khác trong php
  • PHP với các kiểu giá trị
  • Nháy đơn - nháy kép
  • PHP hằng
  • Đổi kiểu dữ liệu

CÂU LỆNH IF

  • PHP câu lệnh IF
  • PHP ELSEIF
  • Dạng vắn tắt

VÒNG LẶP

  • PHP vòng lặp while
  • PHP vòng lặp for

MẢNG PHP

  • Mảng trong PHP
  • PHP mảng kết hợp
  • PHP mảng dựng sẵn

PHP HÀM

  • Tự thiết lập Hàm
  • Hàm và tham số
  • Biến toàn cục và biến cục bộ
  • PHP function return

GIAO TIẾP NGƯỜI DÙNG

  • Giao tiếp với người dùng qua phương thức GET
  • Giao tiếp với người dùng qua phương thức POST

Biến toàn cục và biến cục bộ

xxBiến toàn cục và biến cục bộ
Tháng Tám 01, 2009, 03:49:41 PM gửi bởi nvcnvn
Khái niệm biến toàn cục và biến cục bộ chắc các bạn cũng đã từng nghe qua, trong rất nhiều ngôn ngữ khác nhau. trong PHP cũng không loại trừ.

Khác biệt lớn nhất của biến toàn cục và biến cục bộ có thể thấy ngay ở các ví dụ về fuction. ta xét đoạn mã:
bạn hãy chạy thử đoạn mã, chỉ có 1 từ "Chữ viết" được in ra.

<?php
function vietchu()
	
{
	
	
$chu="Chữ viết";
	
	
echo 
$chu;
	
}

	
vietchu();
	
echo 
$chu;
?>

Hàm vietchu() thực hiện 2 động tác: 1 gán chuỗi "Chữ viết" cho biến $chu, 2 in ra biến $chu
Vậy tại sao khi với dòng lệnh tiếp theo ( echo $chu; ) lại không hề cho ra bất cứ kết quả nào?

Câu trả lời mà cho tới lúc này chắc các bạn ai cũng đoán được: $chu chỉ là biến cục bộ, chỉ có hiệu lực bên trong hàm.

Việc người ta chế ra 2 loại biến này cũng có lý do, ví dụ như khỏi lo bị trùng các biến nếu trong cùng một file mà có nhiều hàm. Nhắm cái nào cần giữ giá trị llại thì giữ, đỡ tốn cấu hình.

ở đây, nếu bạn muốn xác định biến nào sẽ là biến toàn cục thì hãy khai báo các biến đó sau từ khoá global


function vietchu()
	
{
	
global 
$chu;
	
	
$chu="Chữ viết";
	
	
echo 
$chu;
	
}


và thêm một lưu ý, biến đã được gán giá trị bên ngoài, đưa vào trong hàm cũng không có giá trị (nói chung nếu mà không khai báo biến toàn cục thì "nội bất xuất, ngoại bất nhập".
Ví dụ:

<?php
$viet
="Việt nam";
function 
vietchu()
	
{
	
	
$chu="Chữ viết ".$viet;
	
	
echo 
$chu;
	
}
	
vietchu();
?>


hàm này chỉ in ra hàm chử viết, để có thể in ra nguyên câu : Chữ viết Việt Nam như ta mong muốn thì hãy khai báo biến toàn cục cho $viet

$viet
="Việt nam";
function 
vietchu()
	
{
	
global 
$viet;
	
	
$chu="Chữ viết ".$viet;
	
	
echo 
$chu;
	
}



Đây chỉ là một ví dụ đơn giản, trong thực tế, vấn đề này được dùng tới rất nhiều, trong thời gian và va chạm, bạn sẽ thấy cái gì cacng2 cơ bản lại càng quan trọng.


http://hocvui.net


Viết một nhật xét mới

Danh Sách Các Bài Trả Lời:

Trang: [1]

 
Information Technology News|| Download driver and more|| SMF cho người Việt
|| game avatar || nông trại vui vẻ
Thích hợp với các trình dyệt:
Firefox - Opera - Google Chrome