一个 array 参数,怎么样区分是 assoc 还是 list ?

2015-07-19 18:39:04 +08:00
 yakczh

$arr=array('aa','bb','cc');

$brr=array('1'=>'aa','2'=>'bb');

function test ($param){

}

test($arr);
test($brr);

2004 次点击
所在节点    PHP
2 条回复
foccy
2015-07-19 21:04:18 +08:00
不知道是什么情况下需要这样的需求。不过这里有答案: http://stackoverflow.com/questions/173400/how-to-check-if-php-array-is-associative-or-sequential
yakczh
2015-07-19 23:48:19 +08:00
[B_is_associative] => 0.26401352882385
[B_ais_assoc] => 0.24301218986511
[B_is_assoc] => 0.13501119613647
[B_arrayIsAssociative] => 0.12200903892517
[B_isNumericArray] => 0.12200570106506

isNumericArray 最快

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/206770

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX