php数组知多少

0 阅读3分钟
  1. php数组的定义

    1)、用关键词array定义

    2)、用[]定义

图片

图片

2.php数组的类型

    1)、索引数组(以0、1、2、3。。。作为下标的一维数组)

    

图片

    2)、关联数组(键不是以0开头的数字的一维数组,如下:键1对应2,键s对应大s)

    

图片

图片

    3)、多维数组(是在索引数组的和关联数组的基础上嵌套形成的多层结构的数组,例:如下是二维数组)

    

图片

图片

        4)、混合数组(数组中每一个元素的层级都不尽相同,这样的数组就是混合数组)

        

图片

图片

3.php数组的遍历(最常用的是foreach遍历,索引数组用for、while、do...while也可以)

图片

图片

4.php数组的长度(用count函数去统计)

    

图片

图片

5.php常用数组函数的介绍

    1)、sort对数组进行升序排序(如下:可以看出来:类型顺序:字符串》整型》数组》布尔》浮点。字符串的排序是)

    

图片

sort默认正常比较,对单一的字符串或者数字类型的数组排序较好,对混合数组排序较无力,如下排序后很混乱

D:\phpstudy_pro\WWW\index1.php:6:
array (size=9) 
  0 => string '2' (length=1) 
  1 => string 'a' (length=1) 
  2 => string 'b' (length=1) 
  3 => int 3
  4 => 
    array (size=3) 
      0 => string '1' (length=1) 
      1 => int 2
      2 => int 3
  5 => boolean true
  6 => float 1.4
  7 => string '1.5' (length=3) 
  8 => float 1.5

数字比较,会把值转换成数字再进行排序,不是以数字开头的字符串(还会根据字母顺序进行排序)、数组都转转化为0。布尔true转化为1,排序后结果可控

D:\phpstudy_pro\WWW\index1.php:9:
array (size=9) 
  0 => string 'a' (length=1) 
  1 => string 'b' (length=1) 
  2 => 
    array (size=3) 
      0 => string '1' (length=1) 
      1 => int 2
      2 => int 3
  3 => boolean true
  4 => float 1.4
  5 => string '1.5' (length=3) 
  6 => float 1.5
  7 => string '2' (length=1) 
  8 => int 3

字符串比较,统一转换成字符串,排序顺序先数字再字母

D:\phpstudy_pro\WWW\index1.php:12:
array (size=9) 
  0 => boolean true
  1 => float 1.4
  2 => string '1.5' (length=3) 
  3 => float 1.5
  4 => string '2' (length=1) 
  5 => int 3
  6 => 
    array (size=3) 
      0 => string '1' (length=1) 
      1 => int 2
      2 => int 3
  7 => string 'a' (length=1) 
  8 => string 'b' (length=1) 

设置区域后按照字符串进行排序,一般需要setlocale函数使用,不做详细说明

D:\phpstudy_pro\WWW\index1.php:15:
array (size=9) 
  0 => boolean true
  1 => float 1.4
  2 => string '1.5' (length=3) 
  3 => float 1.5
  4 => string '2' (length=1) 
  5 => int 3
  6 => 
    array (size=3) 
      0 => string '1' (length=1) 
      1 => int 2
      2 => int 3
  7 => string 'a' (length=1) 
  8 => string 'b' (length=1) 

对每个单元以“自然的顺序”对字符串进行排序

D:\phpstudy_pro\WWW\index1.php:18:
array (size=9) 
  0 => boolean true
  1 => float 1.4
  2 => string '1.5' (length=3) 
  3 => float 1.5
  4 => string '2' (length=1) 
  5 => int 3
  6 => 
    array (size=3) 
      0 => string '1' (length=1) 
      1 => int 2
      2 => int 3
  7 => string 'a' (length=1) 
  8 => string 'b' (length=1) 
D:\phpstudy_pro\WWW\index1.php:22:
array (size=9) 
  0 => boolean true
  1 => float 1.4
  2 => string '1.5' (length=3) 
  3 => float 1.5
  4 => string '2' (length=1) 
  5 => string 'a' (length=1) 
  6 => string 'b' (length=1) 
  7 => int 3
  8 => 
    array (size=3) 
      0 => string '1' (length=1) 
      1 => int 2


2 => int 3

2)、rsort对数组进行降序排序


3)、ksort根据键对数组进行排序(其他排序函数不做介绍(不常用))


4)、array_merge把数组进行合并,合并后包含两个数组的元素

5)、array_pop删除数组中的最后一个元素,并返回删除的元素


6)、array_shift删除数组的第一个元素并返回删除的元素