免费查找企业信息的网站,网站建设公司在哪里找资源,网站建设 公司 常州,内蒙古建设厅官网站「作者主页」#xff1a;士别三日wyx 「作者简介」#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 is_array 一、基本使用二、空数组三、同时判断多个… 「作者主页」士别三日wyx 「作者简介」CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 is_array 一、基本使用二、空数组三、同时判断多个数组四、empty()和is_array()的区别 is_array() 可以「检测」变量是不是「数组」类型。
语法
bool is_array( $var )参数 $var 需要检测的变量
返回值
返回布尔类型。 true 是数组 false 不是数组 一、基本使用
传入一个变量「判断」它是不是「数组」这也是最常用的一种方式。
数组有很多创建方式直接传一个数组也可以。
注意 is_array() 函数只能判断「普通数组」不能判断关联数组或多维数组。
实例
$arr array(1,2,3);var_dump(is_array($arr));
var_dump(is_array(array(1,2,3)));
var_dump(is_array([1,2,3]));输出
bool(true)
bool(true)
bool(true)二、空数组 is_array() 只关心变量的「类型」而不关心里面的「值」即使里面没有值也会返回true。
注意即使一个对象实现了数组接口时ArrayAccess接口也会返回false因为对象的类型不是array。
实例
$arr array();var_dump(is_array($arr));输出
bool(true)三、同时判断多个数组 is_array() 一次只能判断「一个」变量如果传入多个变量会报Warning并且执行结果也不正确。
实例
$arr array(1);var_dump(is_array($arr, $arr));输出
Warning: is_array() expects exactly 1 parameter,
bool(false)四、empty()和is_array()的区别
问题场景先 empty() 判断是否为空再 is_array() 判断是不是数组 empty() 是否可以省略。
if(is_array($input) !empty($input)){// 功能
}is_array() 是内置函数底层调用 php_is_type 获取变量的类型是不是数组。
PHP_FUNCTION(is_array)
{php_is_type(INTERNAL_FUNCTION_PARAM_PASSTHRU, IS_ARRAY);
}这意味着它只是简单的判断变量「类型」而不会判断是否为「空」这也解释了为什么 is_array() 判断空数组也会返回true。这时候再用 empty() 判断是否为空是很有必要的。
需要注意的是 empty() 是语法结构而 is_array() 是函数语法结构的函数的「开销」要小先用 empty() 判断可以提升代码执行效率。
if(!empty($input) is_array($input)){// 功能
}