Hướng dẫn dùng n nan trong PHP

Trong chương này, chúng ta sẽ tìm hiểu sâu về kiểu integer, float và cách ép kiểu, ...

Một điều cần chú ý về PHP là nó cung cấp chuyển đổi kiểu dữ liệu tự động.

Vì vậy, nếu bạn gán một giá trị kiểu số nguyên cho một biến, kiểu dữ liệu của biến đó sẽ tự động là kiểu số nguyên.

Sau đó, nếu bạn tiếp tục gán một chuỗi cho cùng một biến đó, kiểu dữ liệu sẽ thay đổi thành kiểu chuỗi.

Việc chuyển đổi kiểu dữ liệu tự động này đôi khi có thể phá vỡ mã của bạn.

Kiểu integer trong PHP

Một số nguyên (integer) là một số không có phần thập phân.

2, 256, -256, 10358, -179567 đều là các số nguyên. Trong khi 7.56, 10.0, 150.67 là các số thập phân.

Kiểu dữ liệu số nguyên là một số không thập phân có giá trị trong khoảng từ -2147483648 đến 2147483647.

Một giá trị lớn hơn (hoặc nhỏ hơn) so với giá trị này, sẽ được lưu dưới dạng float, vì nó vượt quá giới hạn của một số nguyên.

Một điều quan trọng khác cần biết là ngay cả khi 4 * 2.5 = 10 thì kết quả được lưu dưới dạng float, bởi vì một trong các toán hạng là kiểu float (2.5).

Dưới đây là một số quy tắc cho số nguyên:

  • Một số nguyên phải có ít nhất một chữ số.
  • Một số nguyên không được có dấu thập phân.
  • Một số nguyên có thể là dương hoặc âm.
  • Các số nguyên có thể được chỉ định theo ba định dạng: thập phân (dựa trên 10), thập lục phân (dựa trên 16 - có tiền tố là 0x) hoặc bát phân (dựa trên 8 - có tiền tố bằng 0)

PHP có các hàm sau để kiểm tra xem kiểu dữ liệu của biến có phải là số nguyên không:

  • is_int()
  • is_integer() - bí danh của is_int()
  • is_long() - bí danh của is_int()
<?php
    $x = 5985;
    var_dump(is_int($x));

    $x = 59.85;
    var_dump(is_int($x));
?>

Đây là kết quả:

bool(true)
bool(false)

Kiểu float trong PHP

Kiểu dữ liệu float là một số có dấu thập phân hoặc số ở dạng số mũ.

2.0, 256.4, 10.358, 7.64E + 5, 5.56E-5 đều là kiểu dữ liệu float.

Kiểu dữ liệu float có thể lưu trữ giá trị lên tới 1.7976931348623E+308 (phụ thuộc vào nền tảng) và có độ chính xác tối đa là 14 chữ số.

PHP có các hàm sau để kiểm tra xem kiểu dữ liệu của biến có phải là float không:

  • is_float()
  • is_double() - bí danh của is_float()
<?php
    $x = 10.365;
    var_dump(is_float($x));
?>

Đây là kết quả:

bool(true)

Giá trị vô hạn trong PHP

Một số có giá trị lớn hơn PHP_FLOAT_MAX được coi là vô hạn.

PHP có các hàm sau để kiểm tra xem một giá trị số là hữu hạn hay vô hạn:

  • is_finite()
  • is_infinite()

Tuy nhiên, hàm var_dump () của PHP trả về kiểu dữ liệu và giá trị:

<?php
    $x = 1.9e411;
    var_dump($x);
?>

Đây là kết quả:

float(INF)

NaN trong PHP

NaN là viết tắt của Not a Number (không phải là số). NaN được sử dụng cho các phép tính toán học không thể thực hiện.

PHP có hàm is_nan() để kiểm tra xem giá trị không phải là số. Ở ví dụ dưới đây, hàm var_dump() của PHP trả về kiểu dữ liệu và giá trị:

<?php
    $x = acos(8);
    var_dump($x);
?>

Đây là kết quả:

float(NAN)

Chuỗi số trong PHP

Hàm is_numeric() của PHP có thể được sử dụng để tìm xem một biến có phải là số hay không. Hàm trả về true nếu biến là một số hoặc một chuỗi số, ngược lại là false.

<?php
    $x = 5985;
    var_dump(is_numeric($x));

    $x = "5985";
    var_dump(is_numeric($x));

    $x = "59.85" + 100;
    var_dump(is_numeric($x));

    $x = "Hello";
    var_dump(is_numeric($x));
?>

Đây là kết quả:

bool(true)
bool(true)
bool(true)
bool(false)
Lưu ý: Từ PHP 7.0 hàm is_numeric() sẽ trả về FALSE cho các chuỗi số ở dạng thập lục phân (ví dụ 0xf4c3b00c), vì chúng không còn được coi là chuỗi số.

Ép kiểu chuỗi và float sang integer trong PHP

Đôi khi bạn cần ép kiểu một giá trị thành một kiểu dữ liệu khác.

Hàm (int), (integer), hoặc intval() thường được sử dụng để ép kiểu một giá trị thành một kiểu số nguyên.

<?php
    // Cast float to int
    $x = 23465.768;
    $int_cast = (int)$x;
    echo $int_cast;

    echo "<br>";

    // Cast string to int
    $x = "23465.768";
    $int_cast = (int)$x;
    echo $int_cast;
?>

Đây là kết quả:

23465
23465

Nếu Comdy hữu ích và giúp bạn tiết kiệm thời gian

Bạn có thể vui lòng tắt trình chặn quảng cáo ❤️ để hỗ trợ chúng tôi duy trì hoạt động của trang web.

Lập Trình PHP
  • Trang chủ
  • Hướng dẫn học
  • Học PHP
  • Kiểu dữ liệu trong PHP

Định nghĩa và cách dùng

PHP Integer

  • Kiểu dữ liệu integer (viết tắt là int) là kiểu dạng số nguyên
  • không là số thập phân
  • Có ít nhất 1 ký tự
  • giá trị nằm trong khoảng: -2,147,483,648 và 2,147,483,647

Php viết:

<?php
$x = 2016;
var_dump($x); // var_dump trả về kiểu dữ liệu và giá trị.
?>

GÁN DỮ LIỆU SANG KIỂU INTERGER

Cấu trúc: (int)$tenbien

<?php
$x = "2016"; // $x đang ở dạng chuỗi.
$x = (int)$x;
var_dump($x);
?>

KIỂM TRA DỮ LIỆU CÓ PHẢI KIỂU INTERGER HAY KHÔNG

Cấu trúc: is_int($tenbien) hoặc is_interger($tenbien), nếu dữ liệu đúng là kiểu interger thì kết quả trả về true, không phải thì kết quả trả về false.

<?php
$x = "3.14128"; // $x đang ở dạng chuỗi.
$x = is_int($x);
var_dump($x);
?>

PHP Float

Kiểu dữ liệu float là kiểu số thực, là dạng số thập phân hay dạng lũy thừa.

Php viết:

<?php
$x = 3.14128;
var_dump($x);
?>

GÁN DỮ LIỆU SANG KIỂU FLOAT

Cấu trúc: (float)$tenbien

<?php
$x = "3.14128"; // $x đang ở dạng chuỗi.
$x = (float)$x;
var_dump($x);
?>

KIỂM TRA DỮ LIỆU CÓ PHẢI KIỂU FLOAT HAY KHÔNG

Cấu trúc: is_float($tenbien), nếu dữ liệu đúng là kiểu float thì kết quả trả về true, không phải thì kết quả trả về false.

<?php
$x = "3.14128"; // $x đang ở dạng chuỗi.
$x = is_float($x);
var_dump($x);
?>

PHP String

Kiểu dữ liệu string là kiểu dạng chuỗi các ký tự, được chứa bên trong dấu ngoặc đơn hoặc ngoặc kép.

Php viết:

<?php
$message1 = "Học web chuẩn 2011";
$message2 = 'Học web chuẩn 2011';
var_dump($message1);
echo "<br>";
var_dump($message2);
?>

string(22) "Học web chuẩn 2011"
string(22) "Học web chuẩn 2011"

GÁN DỮ LIỆU SANG KIỂU STRING

Cấu trúc: (string)$tenbien

<?php
$x = 123581321; // $x đang ở dạng interger.
$x = (string)$x;
var_dump($x);
?>

KIỂM TRA DỮ LIỆU CÓ PHẢI KIỂU STRING HAY KHÔNG

Cấu trúc: is_string($tenbien), nếu dữ liệu đúng là kiểu string thì kết quả trả về true, không phải thì kết quả trả về false.

<?php
$x = "3.14128"; // $x đang ở dạng chuỗi.
$x = is_string($x);
var_dump($x);
?>

Tham khảo thêm các các hàm string thường dùng.

PHP Array

Kiểu dữ liệu array là kiểu dữ liệu lưu trữ nhiều giá trị trong một biến duy nhất.

Php viết:

<?php
$hwc = array("html","css","jquery",1024);
var_dump($hwc);
?>

array(4) { [0]=> string(4) "html" [1]=> string(3) "css" [2]=> string(6) "jquery" [3]=> int(1024) }

XUẤT PHẦN TỬ ARRAY

  • Các phần tử array được đánh chỉ mục từ 0 trở đi, tức phần tử đầu tiên sẽ được xem là phần tử 0.
  • Cách viết một phần tử array: $tenmang[index], với index là số chỉ mục phần tử mảng.
<?php
$hwc = array("html","css","jquery",1024);
echo $hwc[0];
?>

Ta thấy kết quả của chỉ mục 0 chính là phần tử đầu tiên trong mảng.

KIỂM TRA DỮ LIỆU CÓ PHẢI KIỂU ARRAY HAY KHÔNG

Cấu trúc: is_array($tenbien), nếu dữ liệu đúng là kiểu array thì kết quả trả về true, không phải thì kết quả trả về false.

<?php
$hwc = array("html","css","jquery",1024); // $hwc đang ở dạng array.
$hwc = is_array($hwc);
var_dump($hwc);
?>

Tham khảo thêm các kiểu dữ liệu array.

Tham khảo thêm các các hàm array thường dùng.

PHP Boolean

Kiểu dữ liệu boolean là kiểu dữ liệu đại diện cho 2 trạng thái đúng (true) và sai (false).

Boolean thường được dùng để trong diều kiện kiểm tra.

Cấu trúc:
$tenbien = true;
$tenbien = false;

Giá trị true và false không phân biệt viết hoa hay viết thường: TRUE = true, FALSE = false

<?php
$x = true;
var_dump($x);
?>

GÁN DỮ LIỆU SANG KIỂU BOOLEAN

Có 2 cấu trúc:
(boolean)$tenbien
(bool)$tenbien

<?php
$x = 123581321; // $x đang ở dạng interger.
$x = (boolean)$x;
var_dump($x);
?>

KIỂM TRA DỮ LIỆU CÓ PHẢI KIỂU BOOLEAN HAY KHÔNG

Cấu trúc: is_bool($tenbien), nếu dữ liệu đúng là kiểu boolean thì kết quả trả về true, không phải thì kết quả trả về false.

<?php
$hwc = array("html","css","jquery",1024); // $hwc đang ở dạng array.
$hwc = is_bool($hwc);
var_dump($hwc);
?>

PHP Object

Opject là một kiểu dữ liệu lưu trữ dữ liệu và thông tin của đối tượng.

Sẽ được nhắc chi tiết ở phần hướng đối tượng sau.

Đầu tiên phải khai báo lớp của đối tượng (class), class là cấu trúc chứa thuộc tính (property) và phương thức (method)

<?php
class myClass
{
    function do_myClass() {
        echo "Doing here.";
    }
}

$obj = new myClass; // Khai báo đối tượng
$obj->do_myClass(); // Thực hiện đối tượng cụ thể
?>

PHP NULL

Null là kiểu dữ liệu đặc biệt, có giá trị duy nhất là null.

Một biến được tạo mà không có giá trị nào thì tự động được gán giá trị null.

<?php
$x = "2016"; // $x đang ở dạng chuỗi.
$x = null;
var_dump($x);
?>