php怎么判断一个数组是否为索引数组
时间 : 2023-02-15 14:38:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
php判断一个数组是否为索引数组,非常简单,可以采用以下几种方法:
(1)is_array()函数
使用is_array()函数可以判断一个变量是否是数组,如果是数组,返回true;否则,返回false。
例如:
$array = array(1,2,3);
if(is_array($array)){
echo "这是一个数组";
}else{
echo "这不是一个数组";
}
(2)array_keys()函数
array_keys()函数可以取出数组的键名,可以判断一个数组是索引数组(键名都是整数型)还是关联数组(键名都是字符型)
例如:
$array = array(1,2,3);
$res = array_keys($array);
if($res[0] == 0){
echo "这是一个索引数组";
}
(3)array_unique()函数
array_unique()函数可以去掉数组中重复的值(如果数组是索引数组,那么值也会作为键名),并返回数组键名最大的值,如果比较的值是真的,则说明数组是索引数组,如果比较的值是假的,则说明数组不是索引数组。
例如:
$array = array(1,2,3);
$res = max(array_unique($array));
if($res == count($array)-1){
echo "这是一个索引数组";
}
以上就是php如何判断一个数组是否为索引数组的方法,使用以上三种方法根据情况选择最合适的方法。
PHP中数组是最重要的数据结构,一般情况下,我们将数组分为「索引数组」和「关联数组」。索引数组一般是按照下标来定义数组元素的位置,而关联数组则是按照某个特定键来定义数组元素的位置,所以关联数组和索引数组具有不同的数据结构,我们有时候需要判断一个数组是不是索引数组,下面一起来看看PHP应该怎么判断一个数组是否为索引数组吧。
以关联数组为例,如果用print_r函数输出就能很容易的看出数组的结构,比如:
$arr = array('name'=>'tom', 'age'=>18)
print_r($arr)//输出结果:Array ( [name] => tom [age] => 18 )
从结果可见,这是一个带有键名的数组,那么判断它是不是索引数组的方法也就比较容易,只要判断这个数组的键名是不是数值型的就行,如果是数值型的就说明它是索引数组,否则就不是。
可以用PHP内置函数array_keys()来检测一个数组是不是索引数组,如果参数$array中的key均为数值型,那么就可以判定这个数组是一个索引数组。具体实现代码如下:
$arr = array('name'=>'tom', 'age'=>18);
$key_value = array_keys($arr);
if($key_value[0] === 0){
echo '这个数组是一个索引数组';
}else{
echo '这个数组不是一个索引数组';
}
至于数组索引是从0还是从1开始的也可以用这个函数来进一步的判断,只要判断数组的第一个下标值是不是0就行了。
总之,要判断一
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章