連想配列か配列かを区別する方法
2015年06月13日 10:38
参考サイト
https://qiita.com/Hiraku/items/721cc3a385cb2d7daebd
<?php if (array_values($arr) === $arr) { echo '$arrは配列'; } else { echo '$arrは連想配列'; }
や
<?php /** * 添え字が0から連続する数値(=配列とみなせる)ときにtrue */ function is_vector(array $arr) { return array_values($arr) === $arr; } $arr1 = array('a','b','c'); //配列 $arr2 = array('a'=>'a', 'b'=>'b'); //添字が文字なので配列とは言えない $arr3 = array('a', 2=>'b', 1=>'c'); //添え字の順番がおかしいので配列とは言えない var_dump(is_vector($arr1)); //true var_dump(is_vector($arr2)); //false var_dump(is_vector($arr3)); //false