温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php如何判断一个数组是否为索引数组

发布时间:2022-09-21 09:35:02 来源:亿速云 阅读:120 作者:iii 栏目:编程语言

这篇文章主要介绍了php如何判断一个数组是否为索引数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇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)
参数描述
array必需。规定数组。
value可选。您可以指定键值,然后只有该键值对应的键名会被返回。
strict可选。与 value 参数一起使用。可能的值:
  • true - 返回带有指定键值的键名。依赖类型,数字 5 与字符串 "5" 是不同的。

  • false - 默认值。不依赖类型,数字 5 与字符串 "5" 是相同的。

<?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);
?>

php如何判断一个数组是否为索引数组

步骤2:使用array_filter()和is_string()函数过滤数组,返回键名数组中的字符串元素

function f($v){
	 return(is_string($v));
}
$res=array_filter($keys,"f");
var_dump($res);

php如何判断一个数组是否为索引数组

会返回一个包含字符串元素的过滤数组

步骤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如何判断一个数组是否为索引数组

关于“php如何判断一个数组是否为索引数组”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“php如何判断一个数组是否为索引数组”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI