博主信息
博文 21
粉丝 0
评论 1
访问量 24352
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
数组的处理细节!
XFY_肆意De...
原创
1001人浏览过

栈与队列 数组的高级应用

  1. 栈:后进先出 (LIFO-last in first out ) 最后插入的元素先出
  2. 栈的插入操作:
  3. //追加->进栈
  4. array_push();
  5. 栈的删除操作:
  6. //删除->出栈
  7. array_pop();
  8. -----------------------------------------------------
  9. //array_push($array,$value1,$value2,……)语法:
  10. $nums = [1,2,3,4];
  11. $nums =array_push($nums,5,6,7);
  12. print_r($nums);
  13. //打印数组array(['0'=>1,'1'=>2,'2'=>3,'3'=>4,'4'=>5,'5'=>6,'6'=>7]);
  14. -----------------------------------------------------
  15. //array_pop($array) 语法:
  16. $nums = [1,2,3,4];
  17. array_pop($nums);
  18. //第一次从$nums 尾部取出一个;
  19. print_R($nums);
  20. //打印:array(['0'=>1,'1'=>2,'2'=>3]);
  21. //第一次从$nums 尾部再取出一个;
  22. print_R($nums);
  23. //打印:array(['0'=>1,'1'=>2);
  24. //注意:当前数组如果没有值的情况下,返回null

什么是队列

  1. 先进先出(FIFO-first in first out )最先插入的元素最先出来,理解成就是,第一个元素先出来!
  2. 具体应用中通常用链表或是数组来实现;
  3. 对离只允许在后端进入插入操作, array_unshift() ,在前端进行删除操作array_shift()。
  4. //定义数组;
  5. /*
  6. array_unshift($array,$value,value1……) 语法:
  7. */
  8. $nums = [1,2,3,4];
  9. array_unshift($nums,5,6);
  10. print_r($nums);
  11. //输出:array(['0'=5,'1'=>6,'2'=>1,'3'=>2,'4'=>3,'5'=>4]);
  12. //array_shift()
  13. /*
  14. array_shift($array);语法:
  15. */
  16. $nums = [1,2,3,4];
  17. array_shift($nums);
  18. print_r($nums);
  19. //打印:array(['0'=>2,'1'=>3,'2'=>4]);
  20. //每次从数组最开始的元素里面取一个删除,和array_pop一样,当数组不存在或是为空的时候返回的结果为NULL;

打起拉那么多,队列的用途:队列可以很好的异步处理数据传输和存储,当频繁的向数据库提交数据,就可以采用队列来异步插入

  1. /*
  2. 有时候我们需要获取到数组的键,可以直接将数组的key获取到,传统的方法:、
  3. $user = ['name'=>'张三','age'=>18];
  4. while(key($user)){
  5. $key_array[] = key($user);
  6. next();
  7. }
  8. print_r($key_array);
  9. //输出array([0]=>name,[1]=>18);
  10. */
  11. //php中提供了一个更加方便的涵数:array_keys();
  12. $user = ['name'=>'张三','age'=>18];
  13. 直接$key_array = array_keys($user);
  14. print_r($key_array);
  15. //输出array([0]=>name,[1]=>18);

既然有key操作,那肯定就有value操作咯,

  1. 有时候我们需要获取到数组的值,可以直接将数组的values获取到,传统的方法:、
  2. $user = ['name'=>'张三','age'=>18];
  3. foreach($user as $value){
  4. $values[] = $value;
  5. }
  6. print_r($values);
  7. //输出array(['name']=>张三,['age']=>18);
  8. */
  9. //php中提供了一个更加方便的涵数:array_values();
  10. $user = ['name'=>'张三','age'=>18];
  11. //直接
  12. $values = array_values($user);
  13. print_r($values);
  14. //输出array(['name']=>张三,['age']=>18);

说了那么多,系统还提供了其他的数组相关的涵数来。就列举几个常用的、

涵数 说明
array_key_existe(key,array) 检测数组中是否存在key名,key为必填,array为必填且只能是数组
array_key_first(array) array为必填窃必须为数组,返回数组元素中第一个元素的键名
array_key_last(array) array为必填窃必须为数组,返回数组元素中最后一个元素的键名
array_search(value,array) array必填且必须是数组,value必填,查找的值,返回值对应的键名
is_array(value,array) value必填,array为数组,检查数组中是否存在value的值,返回值为bool
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:代码太乱了, 以后直接发代码截图吧
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学