php——三篇夯实根基第三篇_xiaochuhe.的博客-CSDN博客

目录

一、while配合each和list进行数组遍历

(一)each函数的使用

(二)list函数的使用

(三)List函数与each函数联合使用

二、数组排序函数

三、数组指针函数

四、数组其他函数


一、while配合each和list进行数组遍历

While是在外部定义边界条件,如果要实现可以和for循环一样。Each函数使用:each能够从一个数组中获取当前数组指针所指向的元素的下标和值,拿到之后将数组指针下移,同时将拿到的元素下标和值以一个四个元素的数组返回:

0下标 – 》 取得元素的下标值

1下标 - 》 取得元素的值

Key下标 – 》取得元素的下标值

Value下标 – 》取得元素的值

(一)each函数的使用

<h3>数组的遍历——while配合each和list</h3>
<?phpheader("Content-type:text/html;charset=gbk");echo "<pre>";$chuhe = array(1,"name" => "xiaofeng","age" => 22);var_dump($chuhe);//print_r($chuhe);print_r(each($chuhe));print_r(each($chuhe));print_r(each($chuhe));print_r(each($chuhe));
?>

         注意:如果each取不到结果(数组指针移动到最后),返回false

(二)list函数的使用

 List函数使用:list是一种结构,不是一种函数(没有返回值),是list提供一堆变量去从一个数组中取得元素值,然后依次存放到对应的变量当中(批量为变量赋值:值来源于数组):list必须从索引数组中去获取数据,而且必须从0开始。

<h3>list函数的使用</h3>
<?phpheader("Content-type:text/html;charset=gbk");$xiaofeng = array(2,1 => 71);echo "<pre>";print_r($xiaofeng);echo "<hr>";list($first,$f) = $xiaofeng;print_r($first);echo "<hr>";print_r($f);

注意:错误操作:变量多于数组元素,没有指定从0到指定变量的下标的数组元素。因为$second变量对应的下标是1,但是数组中没有下标是1。

(三)List函数与each函数联合使用

  • List与each配合特别好:each一定有两个元素就是0和1下标元素
  • List(变量1,变量2) = each(数组);           //是一种赋值运算,但是可以得到false结果(each取不到正确的结果),整个表达式为false
<h3>List函数与each函数联合使用</h3>
<?phpheader("Content-type:text/html;charset=gbk");$chuhe = array(1,'name' => "xiaochuhe",'age' => 21,'sex' => "男");echo "<pre>";print_r($chuhe);while(list($a,$b) = each($chuhe)){echo $a."&nbsp",$b,'<hr>';}


二、数组排序函数

对数组元素进行排序,都是按照ASCII码进行比较,可以进行英文比较。

  • sort():顺序排序(下标重排)
  • rsort():逆序排序(下标保留)
  • asort():顺序排序(下标保留)
  • arsort():根据键名逆序排序
  • shuffle():随机打乱数组元素,数组下标会重排
<h3>数组排序函数</h3>
<?phpheader("Content-type:text/html;charset=gbk");$xiao = array(5,9 => 9,3,15 => 6,4);echo "<pre>";print_r($xiao);echo "<hr>";//$sort = sort($xiao);print_r($xiao);echo "<hr>";//顺序排序,下标重排//asort($xiao);print_r($xiao);echo "<hr>";//顺序排序,下标保留//arsort($xiao);print_r($xiao);echo "<hr>";//逆序排序,下标保留//krsort($xiao);print_r($xiao);echo "<hr>";//按照键名逆序排序shuffle($xiao);print_r($xiao);echo "<hr>";//随机打乱数组元素,数组下标会重排


三、数组指针函数

  • reset():重置指针,将数组指针回到首位
  • end():重置指针,将数组指针指导最后一个元素
  • next():指针下移,取得下一个元素的值
  • prev():指针上移,取得上一个元素的值
  • current():获取当前指针对应的元素值
  • key():获取当前指针对应的下标值
  • each():返回当前指针所指的元素的值和键,并且移动指针到下一位
<h3>数组指针函数</h3>
<?phpheader("Content-type:text/html;charset=gbk");$chuhe = array('xiaofeng',22,'男',56);echo "<pre>";print_r($chuhe);echo "<hr>";echo next($chuhe);echo "<hr>";//22echo current($chuhe);echo "<hr>";//22echo prev($chuhe);echo "<hr>";//xiaofengecho end($chuhe);echo "<hr>";//56echo key($chuhe);echo "<hr>";//3print_r(each($chuhe));

        注:next和prev会移动指针,有可能导致指针移动到最前或者最后(离开数组),导致数组不能使用,通过next和prev不能回到真确的指针位置。只能通过end或者reset进行指针重置


四、数组其他函数

  • count():统计数组中元素的数量
  • array_push():往数组中加入一个元素(数组后面)
  • array_pop():从数组中取出一个元素(数组后面)
  • array_shift():从数组中取出一个元素(数组前面)
  • array_unshift():从数组中加入一个元素(数组前面)
<h3>数组指针函数</h3>
<?phpheader("Content-type:text/html;charset=gbk");$chuhe = array('xiaofeng',22,'男',56);echo "<pre>";//print_r($chuhe);echo "<hr>";array_push($chuhe,1);//往数组后面加一个元素array_push($chuhe,2);array_push($chuhe,3);//print_r($chuhe);echo "<hr>";//echo array_pop($chuhe),array_pop($chuhe),array_pop($chuhe);echo "<hr>";print_r($chuhe);echo "<hr>";echo array_pop($chuhe);//从数组后面取一个元素echo array_pop($chuhe);echo array_pop($chuhe);    echo "<hr>";array_unshift($chuhe,4);//在数组前面加一个元素array_unshift($chuhe,5);print_r($chuhe);echo "<hr>";//echo array_pop($chuhe);echo array_pop($chuhe);print_r(array_reverse($chuhe));

  • array_keys():获取一个数组的所有下标,返回一个索引数组
  • array_values():获取一个数组的所有值,返回一个索引数组
  • in_array():判断一个元素在数组中是否存在
<h3>数组其他函数</h3>
<?phpheader("Content-type:text/html;charset=gbk");$chuhe = array('xiaofeng',22,'男',56);echo "<pre>";//print_r($chuhe);echo "<hr>";array_push($chuhe,1);//往数组后面加一个元素array_push($chuhe,2);array_push($chuhe,3);//print_r($chuhe);echo "<hr>";//echo array_pop($chuhe),array_pop($chuhe),array_pop($chuhe);echo "<hr>";print_r($chuhe);echo "<hr>";echo array_pop($chuhe);//从数组后面取一个元素echo array_pop($chuhe);echo array_pop($chuhe);    echo "<hr>";array_unshift($chuhe,4);//在数组前面加一个元素array_unshift($chuhe,5);print_r($chuhe);echo "<hr>";echo array_pop($chuhe);echo array_pop($chuhe);echo "<hr>";print_r(array_reverse($chuhe));print_r($chuhe);print_r(array_keys($chuhe));print_r(array_values($chuhe));var_dump(in_array(1,$chuhe));var_dump(in_array(5,$chuhe));

php——数组夯实基础篇相关推荐

  1. PHP——函数夯实基础篇

    目录 一.基本概念 二.基本语法 三.函数命名规范 四.形参和实参 五.形参默认值 六.实参引用传递 七.函数返回值(return) 八.作用域 1.全局变量 ​2.局部变量 3. 超全局变量 (1) ...

  2. delphi 获取数组长度_Java中的数组(基础篇六)

    在学习数组之前我们先来了解一下容器,生活中的容器比如水杯是用来装水的,衣柜是装衣服的,Java中的容器是用来存储数据的,将多个数据存储到一起,每个数据称为该容器的元素. 数组:数组就是存储数据长度固定 ...

  3. java二维数组遍历后转为一维数组_[基础篇]-基础知识整理-05-数组基本概念

    数组 数组是大部分编程语言所支持的数据结构,Java也支持数组,Java的数组是一种引用类型的变量,Java程序通过数组引用变量来操作数组,包括获取数组的长度,访问数组的值等. 数组的基本概念 数组是 ...

  4. Java基础篇4——数组

    Java基础篇4--数组 1.数组的概念 当需要在Java程序中记录单个数据内容时,则声明一个变量即可 当需要在Java程序中记录多个类型相同的数据内容时,则声明一个一维数 组即可,一维数组本质上就是 ...

  5. 小猪猪C++笔记基础篇(四)数组、指针、vector、迭代器

    小猪猪C++笔记基础篇(四) 关键词:数组,Vector. 一.数组与指针 数组相信大家学过C语言或者其他的语言都不陌生,简单的就是同一个变量类型的一组数据.例如:int a[10],意思就是从a开始 ...

  6. 菜鸟学习笔记:Java基础篇6(数组、字符串)

    菜鸟学习笔记:Java常用类(数组.字符串) 数组 概述 数组的定义 二维数组 数组查找和排序 查找 排序 数组运用--字符串 不可变字符序列(String) 可变字符序列(StringBuilder ...

  7. Kiner算法刷题记(二十一):字典树与双数组字典树(数据结构基础篇)

    字典树与双数组字典树(数据结构基础篇) 系列文章导引 系列文章导引 开源项目 本系列所有文章都将会收录到GitHub中统一收藏与管理,欢迎ISSUE和Star. GitHub传送门:Kiner算法算题 ...

  8. Java基础篇--Java 数组

    Java基础篇--Java 数组 Java 数组 声明数组变量 创建数组 处理数组 For-Each 循环 数组作为函数的参数 数组作为函数的返回值 多维数组 多维数组的动态初始化(以二维数组为例) ...

  9. 夯实Java基础系列1:Java面向对象三大特性(基础篇)

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

最新文章

  1. mfc将文件内容引入编辑框_南开大学黄津辉教授团队联合加拿大麦克马斯特大学Ravi教授团队发表微型MFC水质传感器实际废水检测适用性的研究...
  2. python requests 异步调用_带有Python请求的异步请求
  3. js防止表单重复提交
  4. 抖音上测试年龄星座的软件,抖音年龄计算器
  5. ThinkPHP3.1快速入门(3)查询语言
  6. python基础:抓取博客网页上的图片并且保存的例子
  7. 全屋WiFi方案:Mesh路由器组网和AC+AP
  8. 刀哥咱俩探讨一下重构的手法
  9. python中的三元表达式
  10. JQuary(从原生js到jq,就发现jq好简单)
  11. 转载:Session与JWT的使用
  12. 市场调研报告-全球与中国教育互动白板市场现状及未来发展趋势
  13. 计算机ip地址和用户名和密码是什么,登陆无线路由器的IP地址是多少?怎么查看登录地址...
  14. PGSQL学习——触发器
  15. python太阳代码_利用python计算太阳天顶角、方位角、高度角
  16. 100个不能错过的实用JS自定义函数
  17. 微信朋友圈的营销技巧有哪些
  18. 中国音视频编解码标准(AVS+) 认证体系研究
  19. 多浏览器高拍仪控件可支持html5
  20. 如何做好水库水位监测?

热门文章

  1. Elasticsearch Doc_Values解析
  2. UE4元数据关键字的应用与含义,函数的标记和特殊使用(三)
  3. Javascript是什么?java是什么?JavaScript与Java有什么关系?
  4. mysql小练习--有题有数据
  5. 考英语二的计算机学硕,考研201英语是英语一还是英语二?
  6. html中row位置居中,rownumber
  7. 关于Kubernetes 中通过 Kustomize 实现YAML资源文件组合与继承的一些笔记
  8. [转]IE、FireFox、Chrome浏览器中关于URL传参中文乱码,解决兼容性问题!
  9. 使用 easypoi 导出 excel 实现动态列,完美解决!
  10. 国内外著名的云计算厂商平台