首页 > 代码库 > PHP学习5

PHP学习5

数组基础

含义:

数组就是一系列数据的集合体,他们按设定的顺序排列为一个链的形状

注意:php中的数组单元的顺序,跟下标无关!

数组定义(赋值):

$arr1 = array(3,  11,  5,  18,  2  );//这是最常见的数组,下标为默认下标,就是从0开始的整数;

$arr2 = array(“a”=>3,  “bb”=>11,  “cc123”=>5,  ‘d1’=>18,  ‘xyz’=>2  );关联数组,下标为字符串,常见

$arr3 = array(1=>3,  10=>11,  3=>5,  0=>18,  88=>2  );下标可以人为给定;

$arr4 = array(1=>3,  ‘a1’=>11,  3=>5,  ‘mn’=>18,  88=>2  );下标可以数字和字符串混合使用;

$arr5 = array(5=>3,  11,  3=>5,  ‘mn’=>18,  2  ); //有指定下标,也有自动下标

//此时下标为:563”mn”, 7

//可见,自动下标为前面最大数字下标+1”

$arr6 = array(5=>3,  7.7=>11,  3=>5,  ‘mn’=>18,  2  ); //此时下标为:573”mn”, 8

$arr7 = array(5=>3,  true=>11,  false=>5,  ‘mn’=>18,  2  ); //此时下标为:510”mn”, 6

$arr8 = array(1=>3,  3=>33,  true=>11 ); //此时下标为:13,其对应值为:11, 33

//下标如果有重复,后面的值覆盖前面的值;

$arr9 = array(1=>3,  -3=>33,  11); //此时下标为:1-32,注意:最后一个逗号可以有

其他一些形式:

$arr10[] = 3;

$arr10[] = 11;

$arr10[] = 5; //该数组下标为0,1,2,常规情况

$arr11[‘a’] = 3;

$arr11[‘bb’] = 11;

$arr11[‘cc123’] = 5; //该数组下标为’a’,’bb’,’cc123’,常规情况

$arr12[1] = 3;

$arr12[] = 11; //此时下标为2

$arr13[‘cc123’] = 5; //该数组下标为1,2,’cc123’

 

特别注意:php中,数组单元的顺序,是由其放入顺序决定,而不是下标。

数组取值:

$v1 = $arr1[0];

$i = 3;

$v2 = $arr1[$i]; //取得数组下标为3的单元的值;

总体上,可以将取得一个数组的单元的值,看组取得一个变量的值完全一样!!!

 

 

数组的分类

按键值关系来分:

索引数组:通常认为,如果一个数组的下标是严格按照从0开始的连续的整数作为下标,则称其为索引数组——就是类似js数组的下标。例如:

$arr1 = array(3,  11,  5,  18,  2  );//这是最常见的数组,下标为默认下标,就是从0开始的整数;

 

关联数组:通常认为,如果一个数组的下标都是一个字符串并一定程度上表名了该单元的含义,则称为关联数组,例如:

$conf = array(

‘host’=>”localhost”  ,

‘port’=>3306  ,

‘username’=>’root’  ,

‘password’ => ‘123’  ,

);

 

混合数组:既有数字下标,也有字符下标的情况:

$arr4 = array(1=>3,  ‘a1’=>11,  3=>5,  ‘mn’=>18,  88=>2  );下标可以数字和字符串混合使用;

 

 

按数组的维数(复杂程度)分:

一维数组:

$a = array(1, 11, 111);

$b = array(2, 22, 222);

$c = array(3, 33, 333);

 

二维数组:

$dd = array(

array(1, 11, 111),

array(2, 22, 222),

array(3, 33, 333)

);

多维数组:无非就是继续里面再用数组代替。

 

数组的遍历

foreach基本语法

foreach( $数组变量名  as   $key =>$value ){

//循环体;这里可以去使用”$key value

//$key $value 就是该遍历语句一次次取得的数组的每一个单元(项)的下标和对应值。

//而且,它总是从数组的开头往后按顺序取数据。

}

PHP学习5