[PHP] php中的索引数组和数组顺序问题
2023-02-18 15:41:12 时间
先上结论 , php的索引数组不是传统的从0开始的整数索引数组 , 而是一个关联数组 , 是一个有序的键值对 ,这个序就是定义时候的顺序
$arr=array('a','b')
$arr[0] 这个的输出肯定是 a
$arr=array(1=>'a',0=>'b')
$arr[0] 输出b 说明php的索引数组 , 也是一个键值对 , 键是0 , 值是b
当用foreach循环的时候 , 顺序是按照插入时的顺序遍历
$arr=array(1=>'a',0=>'b');
foreach($arr as $k=>$v){
var_dump($k."====>".$v."\n");
}
输出
1====>a
0====>b
所以从这个里面我们就很可能会出现一个错误 , 当我们想要第一个数组元素的时候 $arr[0] 实际上不是真正的第一个元素
可以使用reset()来方便地获取数组的第一个值,或者用end()获取最后一个值。
reset()将内部指针会重置到数组的开头
$first=reset($arr);
相关文章
- [MySQL] myisam比innodb查询过程效率探究
- [MySQL]myisam表的索引结构以及查询过程
- [MySQL] innodb表为varchar字段建立索引后的查询过程
- [MySQL] 联合索引最左前缀原则的原因
- [日常] 浏览器前进后退与数据结构的思想
- [PHP] 判断两个数组是否相同
- [PHP] 使用strace排查接口响应速度慢过程
- [PHP] 504 Gateway Time-out处理流程
- [设计模式] 五种创建型设计模式特点
- [设计模式] 设计模式中的七大原则
- [MySQL] mysql 5.5和 5.6 timestamp default 默认值CURRENT_TIMESTAMP问题
- [前端系列] jquery的on事件实现hover函数效果
- [MySQL] mysql优化实例-delete数据不会减少数据文件大小
- [MySQL] mysql优化实例-为join表关联字段增加索引
- 侧边悬浮在线客服咨询按钮-在线客服按钮代码实现
- [前端系列] 解决默认样式-用户代理样式表问题
- [MySQL系列] mysql find_in_set搜索以逗号分隔的字符串
- [前端系列] 解决el-table导致TypeError: this.$el.querySelectorAll is not a function
- [MySQL] group by 分组并进行组内排序取得最新一条
- [PHP系列] popim 私有化独立部署即时通讯im系统搭建过程