首页后端开发PHPphp判断是否为索引数组的方法是什么?

php判断是否为索引数组的方法是什么?

时间2024-03-22 05:41:03发布访客分类PHP浏览1188
导读:这篇文章给大家分享的是“php判断是否为索引数组的方法是什么?”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“php判断是否为索引数组的方法是什么?”吧。 判断步...
这篇文章给大家分享的是“php判断是否为索引数组的方法是什么?”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“php判断是否为索引数组的方法是什么?”吧。

判断步骤:1、用array_keys()获取原数组的全部键名,语法“array_keys(数组)”;2、用array_filter()过滤数组,语法“function f($v){ return(is_string($v)); } $res=array_filter($keys,"f"); ”,会返回一个包含字符串元素的过滤数组;3、判断过滤数组是否为空数组,如果为空则数组是索引数组。

在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);
    
?>
登录后复制

步骤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判断是否为索引数组的方法是什么?的内容应该都清楚了吧,希望大家阅读完这篇文章能有所收获。最后,想要了解更多php判断是否为索引数组的方法是什么?的知识,欢迎关注网络,网络将为大家推送更多相关知识的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: php判断是否为索引数组的方法是什么?
本文地址: https://pptw.com/jishu/650094.html
Oracle中的开窗函数的用法有哪些 php不用函数数组去重的方法是什么?

游客 回复需填写必要信息