Bài 2: Khai báo biến và hằng trong PHP

Bài 2: Khai báo biến và hằng trong PHP

Như bài 1 mình đã hướng dẫn cho các bạn tiếp cận với PHP rồi, hôm nay bài viết này sonnguyenaz.com sẽ tiếp tục giúp các bạn cách để khai báo biến và hằng trong PHP nhé.

Khai báo biến trong PHP

Giúp bạn hiểu cách tạo biến trong php là gì?

Ngôn ngữ lập trình của php cực kỳ hay ở chỗ chúng ta không cần khai báo kiểu dữ liệu mà dựa vào đầu vào của biến nó tự xác định luôn.

Biến được quy định cú pháp là đứng sau ký tự “$” ví dụ: $name

Biến không cần khai báo mà có thể gán luôn giá trị cho nó $a=5.

Kết thúc gán giá trị cho biến thì phải có dấu “;“.

Nhiều biến được gán cùng giá trị thì ta có thể rút gọn: $a=$b=$c=0;

có thể gán lại giá trị khác cho biến, như trên ta đã gán biến a có giá trị là 0 rồi nhưng xuống dưới có thể tiếp tục gán a giá trị khác được

<?php
$name="Nguyễn Ngọc Sơn";
$a=$b=$c=0;
echo 'Họ tên: '.$name;
echo '<br>';
echo 'Biến a lúc đầu: '.$a;
echo '<br>';
$a=5;
echo 'Biến a gán lại: '.$a;
?>

Để hiển thị giá trị của biến ta dùng lệnh “echo“.

Kết quả thu được:

quy-tac-khai-bao-bien-trong-php

Biến có thể được khai bao ở bất ký đâu trong code php, nhưng khi sử dụng biến thì bắt buộc phải khai báo biến trước.

Có các loại biến như sau:

  • Biến local
  • Biến global
  • Biến static

Bây giờ chúng ta cùng bắt đầu tìm hiểu 3 loại biến trên trong php nhé

Biến local trong php

Biến local trong php là biến được khai báo bên trong hàm, nếu sử dụng ở ngoài hàm thì sẽ lỗi.

Ví dụ sau đây giúp bạn hiểu rõ hơn về biến này:

<?php
function chaomung(){
	$loichao='Chào mừng các bạn đến với bài học hôm nay';
	echo $loichao;
}
chaomung();
//---gọi thử biến ngoài hàm----
echo $loichao;
?>

Như ví dụ trên thì biến “$loichao” chỉ được khai báo trong function chaomung” khi ra ngoài hàm, kết quả sẽ lỗi như trong hình:

bien-local-trong-php

Biến global trong PHP

Ngược lại với biến local thì biến global lại chỉ sử dụng ngoài function, nếu bạn gọi nó ở trong hàm thì cũng sẽ bị lỗi ngay lập tức.

Ví dụ bây giờ ta sẽ đưa biến “$loichao” ra khỏi hàm và gọi nó trong hàm “chaomung” xem sao nhé:

<?php
function chaomung(){	
	echo $loichao;
}
$loichao='Chào mừng các bạn đến với bài học hôm nay';
chaomung();
//---gọi thử biến ngoài hàm----
echo $loichao;
?>

Kết quả sẽ lỗi ngay phải không nào:

bien-global-trong-php

Để sử dụng được biến global trong function thì chúng ta có thể thêm từ khóa global trước biến, kết quả sẽ không lỗi nữa:

<?php
function chaomung(){
	global $loichao;
	echo $loichao;
}
$loichao='Chào mừng các bạn đến với bài học hôm nay';
chaomung();
echo '<br>';
//---gọi thử biến ngoài hàm----
echo $loichao;
?>

Thêm một cái hay nữa của PHP là biến toàn cục này sẽ được lưu trữ trong một mảng  $GLOBALS[index] bạn có thể sử dụng nó vào bên trong hàm với Index là biến:

<?php
function chaomung(){
	echo $GLOBALS['loichao'];
}
$loichao='Chào mừng các bạn đến với bài học hôm nay';
chaomung();
echo '<br>';
//---gọi thử biến ngoài hàm----
echo $loichao;
?>

Biến static trong PHP

Nhiệm vụ của biến static là giữ lại giá trị cuối cùng cho biến mỗi khi thực thi function, bởi mỗi khi gọi hàm xong php sẽ xóa giá trị của biến ngay lập tức.

<?php
function congdon(){
	static $a = 0;
	echo $a;
	$a++;
}
echo congdon();
echo '<br>';
echo congdon();
echo '<br>';
echo congdon();
?>

Kết quả thu được sau khi gọi hàm congdon 3 lần là: 1,2,3. Như vậy giá trị của biến a sẽ không bị xóa về 0 nữa.

Khai báo hằng số trong PHP

Cú pháp của khai báo hằng trong PHP như sau:

define(string $constant_name, mixed $value, bool $case_insensitive = false): bool

trong đó:

  • $constant_name: là tên hằng
  • $value: là giá trị
  • $case_insensitive: phân biệt chữ hoa chữ thường được quy định là false là có phân biệt, true là không.

Ví dụ ta khai báo hằng như sau:

<?php
define("loichao", "Chào mừng các bạn đến với blog sonnguyenaz.com");
echo loichao;
?>

Bạn lưu ý phiên bản php từ 8.0.0 trở lên thì mặc định là có phân biệt chữ hoa chữ thường nhé.

Rate this post

sonnguyen

Là một nhân viên IT thích chia sẻ những gì mình biết đến tất cả mọi người. Hi vọng được mọi người ủng hộ, nếu có gì sai sót mong các bạn comment xuống dưới để mình khắc phục. Cảm ơn mọi người!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *