数组

 1.概述

 数组提供了一种快速,方便地管理一组相关数据的方法,是php程序设计中的重要内容。通过数组可以对大量性质相同的数据进行存储,排序,插入及删除等操作,从而可以有效地提高效率及改善程序的编写方式。

 数组是一组数据的集合,将数据按照一定规则组织起来,形成一个可操作的整体,是对大量数据进行有效组织和管理的手段之一,通过数组函数可以对大量性质相同的数据进行存储,排序,插入及删除等操作,从而可以有效地提高程序开发效率及改善程序的编写方式。

 2.数组类型

 数组的本质是储存,管理和操作一组变量。php中将数组分为一维数组,二维数组和多维数组,但无论是一维还是多维,可以统一将数组分为数字索引数组和关联数组两种,数字索引数组使用数字作为键名,关联数组使用字符串作为键名。

 数字索引数组,下标(键名)由数字组成,默认从0开始,每个数字对应数组元素在数组中的位置,不需要特别指定,php自动会为数字索引数组键名赋一个整数值,然后从这个值开始自动增量,也可以指定从哪个位置开始。

 关联数组,下标(键名)由数值和字符串混合的形式组成的数组。

 数组需要用键名来访问存储在数组中的值。

 3.声明数组
   注意:1.数组名以$开始,第一个字符是字母或下划线,其后是任意数量的字母,数字或下划线。
  2.在同一程序中,标量变量和数组变量都不能重名。
  3.数组的名称区分大小写

  声明数组的方法有两种,分别是用户声明和函数声明。

  1.用户声明
  $array[‘0’]=”php数组”;
  $array[‘1’]=”php学习”;

  2.函数声明
  $arrr=array(‘one’=’php’,’two’=’java’);

    创建二维数组,以上创建的都是只有一列数据内容,因此称为一维数组,如果将两个一维数组组合成一个数组那么就是二维数组。
   例:$str=array(
    “网络”=>array(“ip地址”,”网关”);
   “”=>array(“春秋”,”战国”);
  )

 4,遍历数组
 遍历数组就是按照一定的顺序依次访问数组中的每个元素,直到访问完为止。在php中可以通过流程语句(foreach和for循环语句)和函数(list()和each())来遍历数组。

 foreach(),
 for来遍历数组要用count()函数来获取数量。如果要遍历的数组是数字索引数组,并且数组的索引值为连续的整数时,可以使用for循环来遍历,但是前提条件是需要应用count()函数获取到数组中元素的数量,然后将获取的元素数量作为for循环的执行条件,才能完成数组的循环。
 例:for($i=0;$i<count($array);$i++){echo $array[$i].”<br>”}

 通过数组函数list和each遍历数组:

list()函数将数组中的值赋给一些变量,该函数仅能用于数字索引的数组,且数字索引从0开始,语法: void list(mixed…) 参数mixed为被赋值的变量名称
each()函数返回数组中的键名和对应的值,并向前移动数组的指针,语法:array each (array array) 参数array为输入的数组。
 例:使用list函数获取each函数中返回数组的值,并分别赋给$name和$value,然后使用while循环输出
  while(list($name,$value)=each($array)){echo $name=$value}
 5.输出数组元素
 print_r()函数可以输出数组的结构,也可以使用var_dump()函数输出数组结构。
 echo语句则单纯输出数组中的某个元素,且要有标识符和数组索引配合,格式echo $array[0],同样print语句也可以输出数组中的某个元素。
 
 6.php数组函数
  开发中比较常用的数组函数。

 count()函数可以对数组中的元素个数进行统计
 array_push()函数是向数组中添加元素。将传入的元素添加到某个数组的末尾,并返回数组新单元总数。语法:array_push($array,”新元素1″,”新元素2″)
 array_pop函数可以获取并返回数组中的最后一个元素,并将数组的长度减1,如果数组为空(或者不是数组)将返回null

 删除数组中的重复元素:
 array_unique()函数可以将数组中重复的元素删除
 使用unset()可以删除数组中某个元素。unset($arr_int[1]);

 获取数组中指定元素的键名:获取数组中指定元素的键名主要是通过数组函数来实现的。

 array_search()用来获取数组中指定元素的键名,在数组中搜索给定的值,找到后返回键名,否则返回false,区分大小写字母
  array_search(桔子,$arr[是否区分大小写])

 使用array_keys()函数获取数组中重复元素的所有键名

 字符串与数组的转换是必不可少的,主要使用explode和implode函数实现。
  explode
  implode 将数组元素转换成字符串类型

 7.php全局数组

 应用php全局数组,可以获取大量与环境有关的信息,如当前用户会话,用户操作环境,本地操作环境等。
 
 $_server[]全局数组,获取服务器和客户配置及当前请求的有关信息
 $_get[]和$post[]全局数组,分别用来接收get和post方法传递到当前页面的数据。
 $_cookie[] 全局数组存储通过http cookie传递到脚本的信息
 $_env[]  用于提供与服务器有关的信息
 $_request[] 可以用它获取get,post和http cookie传递到脚本的信息。
 $_session[]  用于获取会话变量的相关信息
 $_files[] 特殊的数组,以后详细说明

复习:

 1.数组概述
 2.数组类型   2种类型
 3.声明数组   用户创建和函数创建,一维数组,二维数组
 4.遍历,输出数组 foreach和for和函数list()和each(), 遍历多维数组。输出有var_dump,print_r,echo $ss[1]
 5.php数组函数  统计数组元素,向数组中添加元素,获取数组中的最后一个元素,删除数组中重复元素,获取数组中指定元素的键名
 6.php全局数组  常用的哪几个

作者“技术为王”