/**
 * 判断数组是关联数组还是索引数组
 * @param $array
 */
function AssociativeOrIndexArray($array){
    if (!is_array($array)){
        echo 'not array';
        return;
    }
    $c = count($array);
    $in = array_intersect_key($array,range(0,$c-1));
    if(count($in) == $c) {
        echo '索引数组';
    }else if(empty($in)) {
        echo '关联数组';
    }else{
        echo '混合数组';
    }
}
//索引数组
$arr = array(1,2,3,4);
//关联数组
$arr = array('a'=>'a1','b'=>'b1','c'=>'c1');
//混合数组
$arr = array(1,'a'=>'a1',2,3,'cc'=>'4');
//索引数组
$arr = [ '0'=>'是', '1'=>'否' ];
AssociativeOrIndexArray($arr);我测试的结果$arr = [ '0'=>'是', '1'=>'否' ]是索引数组,怎么看起来好像关联数组结构?!
猛跑小猪
森栏
炎炎设计