• 技术文章 >后端开发 >PHP问题

    php怎么判断是否为关联数组

    青灯夜游青灯夜游2022-06-07 17:37:38原创411

    方法:1、使用“array_keys($arr)”获取数组键名,返回一个键名数组;2、遍历键名数组,判断是否有数组元素为字符串,语法“foreach($k as $v){if(is_string($v)){echo "是关联数组";}}”。

    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

    什么是关联数组

    关联数组的下标(键名)由数值和字符串混合的形式组成,如果一个数组中有一个键名不是数字,那么这个数组就是关联数组。

    php怎么判断是否为关联数组

    1、使用array_keys()获取数组的键名

    array_key() 函数可以获取数组中的部分或所有键名,返回一个键名数组

    <?php
    header("Content-type:text/html;charset=utf-8");
    $arr=array(1=>"1","a"=>"red",2=>"2","b"=>"green","c"=>"blue");
    var_dump($arr);
    $keys=array_keys($arr);
    var_dump($keys);
    ?>

    1.png

    2、使用foreach遍历键名数组

    在循环体中,判断是否有数组元素为字符串

    foreach($keys as $v){
    	if(is_string($v)){
    		echo "是关联数组";
    		break;
    	}
    }

    2.png

    改进一下:判断数组是关联数组,还是索引数组

    $keys=array_keys($arr);
    $b="";
    foreach($keys as $v){
    	if(!is_string($v)){
    		$b=false;
    	}else{
    		$b=true;
    		break;
    	}
    }
    if($b){
    	echo "是关联数组";
    }else{
    	echo "不是关联数组,是索引数组";
    }

    如果检测的是以下数组:

    $arr=array(1,2,3,4,5);

    则会输出:

    3.png

    推荐学习:《PHP视频教程

    以上就是php怎么判断是否为关联数组的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php数组 php
    上一篇:php怎么检查数组内值是否互不相等 下一篇:php怎么判断两个数组是否有相同值
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php数组怎么求平均值• php数组怎么查询大于0的元素• 创建php数组的方法有哪几种• php数组怎么去掉null值• php数组怎么去掉最大和最小元素• php数组里面可放数组吗
    1/1

    PHP中文网