DAY17

 9.1 数组的介绍

说明:一组(一堆)数据的集合,把多个数据进行组合,数组是由“元素”组成。

题:有6头牛,求牛的总体重和平均体重。

改进成数组的方式:


 9.2 数组的创建

数组的三种创建方式

  1.方式一:

    变量 = array(元素的值,元素的值,元素的值,........);

  2.方式二:

    变量 = array(元素,元素,元素,..........);

  3.方式三:

    变量[【下标】] = ;

    变量[【下标】] = ;

    变量[【下标】] = ;

    .........

 

数组的细节

1.元素是由“下标”和“值”组成,也称为“键值对”;

2.下标就是每个数据值的对应名称,为什么有“下标”,原因每个数据有可以不一样(多个值)进行区分的作用。

3.下标可以自定义也可以让系统自动生成,如果是没有声明下标(没有自定义),这个时候下标为:0开始的依次递增的顺序的整数,如:0,1,2,3,4...

4.如果下标自定义了,就会按照自定义的下标来区分数据,没有下标的从0开始依次递增,

5.如果其中定义了一个数字,那么这个数组的后面的数据的下标都从定义的数字开始依次递增。

 

 

6.下标又称为“索引”和“键名”,indexoffset

 

7.数值也称为“键值”,数值的数据类型为8种。

 

数组的覆盖

  说明:如果后面的元素中的下标和前面元素的下标“重复”了,后面元素的值会覆盖前面的元素值。

数组的自增

说明:有一个固定的数组,这个时候需要在网数组中添加一个新的元素。

数组的分类

  索引数组:下标都是数字,且连续的递增的方式。

  关联数组:下标都是字符串的

  混合数组:既有数字也有字符串


9.3 数组的使用

基本使用

  获取到一个元素中的值;

  写数组名(变量名)[下标];    //必须知道下标是什么,只能打印输出一个值

数组的遍历--遍历就是一个一个的自动获取

  For循环遍历数组--只能遍历索引数组

 

Foreach循环变量数组--都可以遍历

  基本语法:

    Foreach(要遍历的数组 as $key=>$value){

    $key就是每次循环获取数组中一个元素的下标

    $value就是每次循环获取数组中的个元素的值

  }

    循环每次都是一个,获取完这个后数组的内部指针下移,一直到没有数组了给false

 

While+each+list循环遍历数组--都可以遍历

  While循环如果有内容认为就是真,如果没有内容了就认为是假。

  Each():从一个数组中获取一个“元素”再可以给另一个变量,这个时候的变量就是一个右“获取元素的”下标和值组成一个新的数组。获取完一个元素,那么这个数组中的指针进行下移。

  组合成新数组为:当前数组的下标和值都是新数组中值,下标是系统(PHP)默认生成的两队(索引和关联),索引为:01,关联为:keyvalue0key获取的是原来数组的下标,1value获取的是原来数组的值。

 

List()函数:

  把数组中的值取出来给list中的变量,也就是说list中放变量,这个变量就可以获取数组的值;

  List(变量名,变量名,变量名,............) = 数组;

循环遍历:


9.4 几个数组函数

Count():获取数组的长度

Is_array():检查某个变量是否是数组

Var_dump():打印输出数组中类型和长度和值

Print_r():打印输出数组中键值对

 

Implode():通过一个分隔符链接数组成为字符串

Explode():通过个分割符把一个字符串分割成数组


9.5 二维数组及多维数组

  在弱类型语言中是没有具体的一个创建多维数组的函数或变量等,通过一维数组的创建方式来组合成二维或多维数组。

  创建方式:一个数组的元素又是另一个数组,这个时候称为”二维数组“,如果一直往下的元素还是数组,这个时候称为”多维数组“.

创建方式一:

 

创建方式二:

创建方式三:

多维数组

多维数组的使用

  1.获取一个值的方式:变量[第一维的下标][第二维的下标][.........]

 

  2.循环遍历

 


9.6 排序算法

说明:排序就是对某组数据进行升序或降序的排列方式,排序都是对索引数组

冒泡排序

从大到小排列-从小到大排列

  找到从最大的下标的值和前面的值进行比较,如果前面小于后面的值,进行位置交换,以此类推一直找当前的最大值,一次完成。继续找第二大下标的值进行比较,和它前面的值交换位置,以此类推,最终排序完成。

   如:$arr = array(3,4,2,50,30);--从小到大的排序,2,3,4,30,50

选择排序

说明:从数组中选择一个数和其他进行比较,如果大于比较的数,任何交换位置。

  选择:我们自己想象的一个数组为最大或最小

原文地址:https://www.cnblogs.com/qianjilou/p/6369789.html