Hàm Is_array() trong PHP dùng để làm gì?

20/06/2020 - lượt xem
Chia sẻ
 
Rate this post

Định Nghĩa

Hàm is_array() trong PHP  kiểm tra một biến có phải là một mảng. Hàm này tương thích với PHP4, PHP 5, PHP 7.

Cú pháp

Cú pháp:

is_array ( mixed $var ) : bool

Trong đó:

$var là biến cần kiểm tra.

Mô tả

Hàm is_array() trong PHP sẽ kiểm tra biến có phải là một mảng không, nếu biến là một mảng hàm sẽ trả về TRUE và ngược lại sẽ trả về FALSE.

Ví dụ

Code:

$var = [
     'php',
     'js',
     'css'
];
if (is_array($var)) {
     echo 'đây là một mảng dữ liệu';
}else{
     echo 'đây không phải là một mảng dữ liệu';
}

Kết quả

đây là một mảng dữ liệu

Thông tin thêm về hàm.

Ngoài hàm is_array() ta có thể kết hợp hàm array_diff_key() array_keys() để tự viết hàm.
Ví dụ:

<?php

function is_assoc($var)
{
        return is_array($var) && array_diff_key($var,array_keys(array_keys($var)));
}

function test($var)
{
        echo is_assoc($var) ? "Đây là một mảng.\n" : "Đây không phải mảng.\n";
}

// Dạng dữ liệu mảng
$a = array("a"=>"aaa","b"=>1,"c"=>true);
test($a);

// Dạng string
$b = array_values($a);
test($b);

// Dạng object
$c = (object)$a;
test($c);

// other types
test($a->a);
test($a->b);
test($a->c);

?>
Kết quả
Đây là một mảng.
Đây không phải mảng.
Đây không phải mảng.
Đây không phải mảng.
Đây không phải mảng.
Đây không phải mảng.

Hoặc có bạn tự viết một hàm của riêng mình.
Ví dụ.

<?php
if ( (array) $unknown !== $unknown ) {
    echo '$unknown Không phải một mảng';
} else {
    echo '$unknown là một mảng';
}
?>

Theo đánh giá hàm này có thể nhanh hơn hàm is_array() đang kể chỉ bằng 1/4 thời gian mà is_array thực hiện.Bạn hãy dùng hàm bên dưới để kiểm tra thử tốc độ của hai hàm chắc chắn bạn sẽ thấy sự khác biệt.

<?php

$count = 1000000;

$test = array('im', 'an', 'array');
$test2 = 'im not an array';
$test3 = (object) array('im' => 'not', 'going' => 'to be', 'an' => 'array');
$test4 = 42;
// Set this now so the first for loop doesn't do the extra work.
$i = $start_time = $end_time = 0;

$start_time = microtime(true);
for ($i = 0; $i < $count; $i++) {
    if (!is_array($test) || is_array($test2) || is_array($test3) || is_array($test4)) {
        echo 'error';
        break;
    }
}
$end_time = microtime(true);
echo 'is_array  :  '.($end_time - $start_time)."\n";

$start_time = microtime(true);
for ($i = 0; $i < $count; $i++) {
    if (!(array) $test === $test || (array) $test2 === $test2 || (array) $test3 === $test3 || (array) $test4 === $test4) {
        echo 'error';
        break;
    }
}
$end_time = microtime(true);
echo 'cast, === :  '.($end_time - $start_time)."\n";

echo "\nTested $count iterations."

?>

Những hàm có chức năng tương đồng.

is_float () – Kiểm tra biến có phải là số thập phân không

is_int () – Kiểm tra biến có phải số nguyên không

is_string () – Kiểm tra biến có phải là chuỗi không

is_object () – kiểm tra một biến có phải là một đối tượng không

Trên đây là một số thông tin nhỏ về hàm is_array() để có nhiều thông hơn các bạn hay truy cập vào php.net để tìm hiểu thêm.

Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm is_array() rong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé.

Cảm ơn bạn đã ghé thăm codetutam.com !

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm