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:
is_array ( mixed $var ) : bool
Trong đó:
$var là biến cần kiểm tra.
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.
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
Ngoài hàm is_array() ta có thể kết hợp hàm array_diff_key() và 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." ?>
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 !
Bình luận: