84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
我想区分开不同的array分别处理,区分靠key的值是(通过array_push)自动生成的index还是自己填的(string之类的)index
甚至是混合的key
业精于勤,荒于嬉;行成于思,毁于随。
仔细想了下,题主的意思应该是想要区分数字数组还是索引数组吧?毕竟自动生成的key也是可以手动自己填出来的。
我常用的判断是否为纯数字数组(相当于其他语言的数组)的方法
function is_list($arr){ return is_array($arr) && ($arr == array() || array_keys($arr) === range(0,count($arr)-1) ); }
判断key的类型,array_push的key是int
真要查起来特别麻烦,判断key类型没用,毕竟自己也可以填int类型的key呀。如果楼主真有这个需求,需要在项目初期就设定好,我举一个简单点的例子:使用某个函数为数组填key,在填key的同时,做个记录,然后...在你有这个需求的时候就可以查记录了。不知道其他人有没有更好的方法了,我目前就想到了这个。
array 的key 如果是自动生成的话 那么key 必须的int 数值类型的,不过认为也能设置key 为 int 数值类型所以没法判断人为设定还是自动生成
仔细想了下,题主的意思应该是想要区分数字数组还是索引数组吧?毕竟自动生成的key也是可以手动自己填出来的。
我常用的判断是否为纯数字数组(相当于其他语言的数组)的方法
判断key的类型,array_push的key是int
真要查起来特别麻烦,判断key类型没用,毕竟自己也可以填int类型的key呀。
如果楼主真有这个需求,需要在项目初期就设定好,我举一个简单点的例子:
使用某个函数为数组填key,在填key的同时,做个记录,然后...在你有这个需求的时候就可以查记录了。
不知道其他人有没有更好的方法了,我目前就想到了这个。
array 的key 如果是自动生成的话 那么key 必须的int 数值类型的,不过认为也能设置key 为 int 数值类型
所以没法判断人为设定还是自动生成