这篇文章主要介绍了php如何判断一个数组是否为索引数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何判断一个数组是否为索引数组文章都会有所收获,下面我们一起来看看吧。
创新互联建站专注于企业网络营销推广、网站重做改版、新林网站定制设计、自适应品牌网站建设、HTML5建站、商城建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为新林等各大城市提供网站开发制作服务。
判断步骤: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 参数一起使用。可能的值:
|
"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==[]
如果为空,则数组是索引数组
如果不为空,则数组不是索引数组,是关联数组
实现代码:
"; }else{ echo "数组不是索引数组,是关联数组
"; } } $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如何判断一个数组是否为索引数组”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。