Hàm is_array() trong PHP

Hàm is_array() trong PHP
Hàm is_array() trong PHP

Chức năng của Hàm is_array() trong PHP

Hàm is_array() trong PHP dùng để kiểm tra kiểu dữ liệu của biến truyền vào có phải là kiểu dữ liệu mảng (array) hay không, nếu phải thì trả về true, nếu không phải thì trả về false.

Cú pháp của Hàm is_array() trong PHP

$kết_quả = is_array($biến_dữ_liệu);

$biến_dữ_liệu: Biến chứa dữ liệu.

$kết_quả: Nếu kiểu dữ liệu của biến là kiểu dữ liệu mảng (array) thì trả về true, nếu kiểu dữ liệu của biến không phải là kiểu dữ liệu mảng (array) thì trả về false.

Code Hàm is_array() trong PHP

<h2>Kiểm tra biến mảng thuộc kiểu dữ liệu mảng (array) hay không</h2>
<?php 
$mang = array("Lực","Vân","Quỳnh");

if(is_array($mang)){
 echo 'Biến $mang thuộc kiểu dữ liệu mảng (array)<br>';
}else{
  echo 'Biến $mang không thuộc kiểu dữ liệu mảng (array)<br>';
}
// Kết quả: Biến $mang thuộc kiểu dữ liệu mảng (array)
?>

<h2>Kiểm tra biến mảng thuộc kiểu dữ liệu mảng (array) hay không</h2>
<?php 
$mangrong = array();

if(is_array($mangrong)){
 echo 'Biến $mangrong thuộc kiểu dữ liệu mảng (array)<br>';
}else{
  echo 'Biến $mangrong không thuộc kiểu dữ liệu mảng (array)<br>';
}
// Kết quả: Biến $mangrong thuộc kiểu dữ liệu mảng (array)
?>

<h2>Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu mảng (array) hay không</h2>
<?php
$biensonguyen = 35;

if(is_array($biensonguyen)){
 echo 'Biến $biensonguyen thuộc kiểu dữ liệu mảng (array)<br>';
}else{
  echo 'Biến $biensonguyen không thuộc kiểu dữ liệu mảng (array)<br>';
}
// Kết quả: Biến $biensonguyen không thuộc kiểu dữ liệu mảng (array)
?>

<h2>Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu mảng (array) hay không</h2>
<?php
$bienthapphan = 35.5;

if(is_array($bienthapphan)){
 echo 'Biến $bienthapphan thuộc kiểu dữ liệu mảng (array)<br>';
}else{
  echo 'Biến $bienthapphan không thuộc kiểu dữ liệu mảng (array)<br>';
}
// Kết quả: Biến $bienthapphan không thuộc kiểu dữ liệu mảng (array)
?>

<h2>Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu mảng (array) hay không</h2>
<?php
$bienchuoi = "Web Mới";

if(is_array($bienchuoi)){
 echo 'Biến $bienchuoi thuộc kiểu dữ liệu mảng (array)<br>';
}else{
  echo 'Biến $bienchuoi không thuộc kiểu dữ liệu mảng (array)<br>';
}
// Kết quả: Biến $bienchuoi không phải mảng
?>

<h2>Kiểm tra biến đối tượng thuộc kiểu dữ liệu mảng (array) hay không</h2>
<?php
$nhanVien = (object) [
    'ten' => 'Bùi Tấn Lực',
    'tuoi' => '35'
];

if(is_array($nhanVien)){
 echo 'Biến $nhanVien thuộc kiểu dữ liệu mảng (array)<br>';
}else{
  echo 'Biến $nhanVien không thuộc kiểu dữ liệu mảng (array)<br>';
}
// Kết quả: Biến $nhanVien không thuộc kiểu dữ liệu mảng (array)
?>

Kết quả:

/////Kiểm tra biến mảng thuộc kiểu dữ liệu mảng (array) hay không
Biến $mang thuộc kiểu dữ liệu mảng (array)

/////Kiểm tra biến mảng thuộc kiểu dữ liệu mảng (array) hay không
Biến $mangrong thuộc kiểu dữ liệu mảng (array)

/////Kiểm tra biến chứa số nguyên thuộc kiểu dữ liệu mảng (array) hay không
Biến $biensonguyen không thuộc kiểu dữ liệu mảng (array)

/////Kiểm tra biến chứa số thập phân thuộc kiểu dữ liệu mảng (array) hay không
Biến $bienthapphan không thuộc kiểu dữ liệu mảng (array)

/////Kiểm tra biến chứa chuỗi có thuộc kiểu dữ liệu mảng (array) hay không
Biến $bienchuoi không thuộc kiểu dữ liệu mảng (array)

/////Kiểm tra biến đối tượng thuộc kiểu dữ liệu mảng (array) hay không
Biến $nhanVien không thuộc kiểu dữ liệu mảng (array)

Chạy Thử

Ứng dụng hàm is_array() trong PHP vào thực tế

Kiểm tra dữ liệu trước khi xử lý mảng

Khi dữ liệu đến từ biểu mẫu, API hoặc một hàm khác, không phải lúc nào PHP cũng trả về đúng kiểu mảng mà chương trình mong đợi. Sử dụng is_array() trước khi xử lý giúp xác nhận dữ liệu và hạn chế lỗi trong quá trình thực thi.

<?php
$data = $_POST['products'] ?? null;

if (is_array($data)) {
    foreach ($data as $product) {
        echo $product;
    }
}
?>

Cách kiểm tra này đặc biệt hữu ích khi dữ liệu đầu vào có thể thay đổi tùy trường hợp. Nếu giá trị không phải mảng, chương trình có thể chuyển sang hướng xử lý khác thay vì thực hiện các thao tác dành riêng cho mảng.

Kết hợp is_array() với các hàm xử lý mảng

is_array() thường đóng vai trò như bước kiểm tra trước khi gọi các hàm xử lý dữ liệu. Điều này giúp mã PHP rõ ràng hơn, nhất là khi biến có thể nhận nhiều kiểu giá trị.

<?php
$data = getData();

if (is_array($data)) {
    $data = array_filter($data);
    $data = array_values($data);
}
?>

Thay vì mặc định một biến luôn chứa mảng, hãy kiểm tra kiểu dữ liệu trước rồi mới thực hiện các thao tác như lọc, sắp xếp, duyệt hoặc đếm phần tử. Cách viết này phù hợp với những đoạn mã xử lý dữ liệu không có cấu trúc cố định.

Tránh lỗi khi dữ liệu đầu vào không phải là mảng

Một biến có thể chứa string, null, số hoặc một kiểu dữ liệu khác trong những tình huống không được dự đoán trước. Nếu chương trình trực tiếp xử lý biến đó như một mảng, kết quả có thể không đúng hoặc phát sinh lỗi.

<?php
$items = getItems();

if (!is_array($items)) {
    $items = [];
}

foreach ($items as $item) {
    echo $item;
}
?>

Chuyển dữ liệu không hợp lệ về một giá trị mặc định phù hợp là một cách đơn giản để duy trì luồng xử lý ổn định. Tuy nhiên, nếu dữ liệu không phải mảng có thể là dấu hiệu của lỗi từ nguồn cung cấp dữ liệu, nên xác định nguyên nhân thay vì chỉ bỏ qua giá trị đó.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm is_array() trong PHP.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm is_array() trong PHP
Email, Điện thoại 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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !