PHP数组

什么是数组

实际上是一个有序映射。映射是一种把  values 关联到  keys

传统上把数组定义为一组有某种共同特性的元素,如相似性,和类型,每个元素由一个特殊的

标识来区分,这称为key.

数组的类型

数值数组

带有数字  ID  键的数组

$names = array("a","b","c");

关联数组

数组中的每个  ID  键关联一个值

$ages = array("a"=>20, "b"=>30, "c"=>40);

多维数组

包含一个或多个数组的数组

在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数

组,以此类推

数组的构造

快速创建数组

PHP创建数组是不需要指定大小,也可以不用事先申明(PHP是松散型语言).

要引用树组的元素,可以用一对中括号来指示.只需要建立引用就可以创建数组

如:

$array[0] = ‘a’;

然后可以如下输出$array 第一个元素

echo $array[0];

接着我们可以映射更多的元素

$array[1] = ‘b’;

$array[2] = ‘c’;

….

$array[20] = ‘m’;

如果认为索引是连续的,那可以省略索引

如:


$array[] = ‘b’;

$array[] = ‘c’;

….

$array[] = ‘m’;

数组的键名可以是整形数字,字符或字符串  索引数组(键名为数字),关联数组(字符或

数字混合)

如array(‘a’,’b’,’c’);

数组分类一维  ,二维  。。 。

一维数组只保存一列数据

$info[] = 'a',

$info[] = 'b';

$info[] = "a";

$info[] = "a";

$info[] = "a";

$info[] = "a";

$info[] = "a";

数组的遍历方式  for,foreach while

var_dump($info);

for($i=0;$i<=7;$i++){

echo $info[$i];

}

Foreach($info as $key=>$value){

Echo   ‘key=’.$key.”  Val=”.$val;

}

快速创建数组  range(star,end,[step])

$testArray = range(a,z,1);

print_r($testArray);

为数组追加数据

$testArray[] = "1";

array_push($testArray,'2','3','4');//追加到末尾


print_r($testArray);

修改数组内容

$testArray[1] = 'f';

$testArray = array_pad($testArray,5,'raojinpg');

//array_pad填补到数组的指定长度不修改原来的值

print_r($testArray);

访问和处理数组

$array_sort = array("世界","area","深圳","shenzhen");//按ascii

$array_sort = array("1",34,5,6,76);//按大小

sort($array_sort);

print_r($array_sort);

//sort【数字索引】数字,英文  ,汉字

//$states = array('LN'=>"LIANLAO",'BJ'=>"beijing");

//关联数组排序asort()按数组关联型,ksort()按数组索引升序,krsort()按数组索引降序

数组随机抽取  shuffle(),array_rand()

$rand_array = array(1,2,3,4,5,6,14,8,9,10,1,2,3,1);

shuffle($rand_array);//打乱排序

$rand_array = array_rand($rand_array,3);//随机取数据  如果不带范围默认一个

print_r($rand_array);

print_r(array_count_values($rand_array));//统计数组中元素出现的次数

echo array_key_exists(14,$rand_array);//查询  键名是否存在

echo in_array(10,$rand_array);//查询值是否存在

echo array_sum($rand_array);求和

print_r(array_unique($rand_array));//去除数组中重复的元素

//移动数组内部指针

$zh_array = array("apple","orange","banana","yali");

echo current($zh_array);

echo next($zh_array);


echo prev($zh_array);

echo current($zh_array);

echo end($zh_array);

//取得关联数组的键名

$states = array('LN'=>"LIANLAO",'BJ'=>"beijing");

print_r(key($states));//第一个

print_r(array_keys($states));//全部键名

print_r(array_values($states));//全部键值

is_array()//判断数组的  类型

unset($array[0]);//删除数组指定的元素

array_unshift($array,$value1,$value2..);//在数组的顶部插入数据

array_splice($array,$位子,长度,值)//删除数组一部分元素并用其他值代替

$states = array('LN'=>"LIANLAO",'BJ'=>"beijing",'NJ'=>"beijing",'TJ'=>"beijing");

array_splice($states,2,1,"raojinpg");

print_r($states);

count($array);sizeof($array);//统计数组

array_flip($array);//键名和键值替换

array_pop($states);//删除末尾元素

array_push();//追加到末尾

array_shift($states);//删除首元素

array_unshift();//追加到开始

print_r($states);


你可能感兴趣的:(php数组)