在php中判断一个数组是否为索引数组之详细教程来了,判断步骤大致如下:
1、用array_keys()获取原数组的全部键名,语法“array_keys(数组)”;
2、用array_filter()过滤数组,语法“function f($v){return(is_string($v));}$res=array_filter($keys,"f");”,会返回一个包含字符串元素的过滤数组;
3、判断过滤数组是否为空数组,如果为空则数组是索引数组。
本文适用于windows7系统、PHP8.1版、DELL G3电脑
在php中判断一个数组是否为索引数组之详细教程
我们只需要判断数组的键名是否都为数字,即可判断一个数组是否为索引数组,实现步骤如下:
步骤1:使用array_keys()函数获取原数组的全部键名
array_keys() 函数返回包含数组中所有键名的一个新数组。
array_keys(array,value,strict)
<?php
header('content-type:text/html;charset=utf-8');
$arr=array("r"=>"red",2,3,"hello",5,6);
var_dump($arr);
$keys=array_keys($arr);
var_dump($keys);
?>
步骤2:使用array_filter()和is_string()函数过滤数组,返回键名数组中的字符串元素
function f($v){
return(is_string($v));
}
$res=array_filter($keys,"f");
var_dump($res);
会返回一个包含字符串元素的过滤数组
步骤3:判断过滤数组是否为空数组
$res==[]
● 如果为空,则数组是索引数组
● 如果不为空,则数组不是索引数组,是关联数组
实现代码:
<?php
header('content-type:text/html;charset=utf-8');
function f($v){
return(is_string($v));
}
function fun($arr){
$keys=array_keys($arr);
$res=array_filter($keys,"f");
if($res==[]){
echo "数组是索引数组<br>";
}else{
echo "数组不是索引数组,是关联数组<br>";
}
}
$arr=array("r"=>"red",2,3,"hello",5,6);
var_dump($arr);
fun($arr);
$arr=array(1,2,3,"hello",5,6);
var_dump($arr);
fun($arr);
?>
以上就是关于在php中判断一个数组是否为索引数组的详细教程,翼速应用平台内有更多相关资讯,欢迎查阅!
我来说两句