PHP数组
Posted Irving_yx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP数组相关的知识,希望对你有一定的参考价值。
数组的本质是存储、管理和操作一组变量。在php中数组存储数据的容量还可以根据里面元素个数的增减自动调整。
数组分类:
1.索引数组:索引是整数,以0开始,依次递增。当通过位置来标识数组元素时,可以使用索引数组。
2.关联数组:以字符串为索引值。当通过名称来识别数组元素时,可以使用关联数组。
数组的定义
1.直接赋值
$数组变量名[下标]=数组内容;
代码:
1 $arr[]=1; 2 $arr[]=2; 3 $arr[]=3; 4 $arr[]=4; 5 print_r($a); //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
2.array()语言结构
$数组变量名=array(key1=>value1,key2=>value2,key3=>value3,key4=>value4);
代码:
1 $arr=array("a"=>"A","b"=>"B","c"=>"C","d"=>"D"); 2 print_r($arr); //Array ( [a] => A [b] => B [c] => C [d] => D )
3.多维数组声明
$数组变量名=array(
array(key1=>value1,key2=>value2,key3=>value3,key4=>value4),
array(key1=>value1,key2=>value2,key3=>value3,key4=>value4),
array(key1=>value1,key2=>value2,key3=>value3,key4=>value4),
);
数组遍历
1.使用for循环遍历数组
局限:要求数组下标必须是连续的数字索引
代码:
1 $arr=array(1,"a","b",4,"c"); 2 for($i=0;$i<count($arr);$i++){ 3 echo $arr[$i]."<br>"; 4 }
2.使用foreach语句遍历数组
PHP中foreach是专门为变量数组而设计,是一种变量数组的简便方法。
代码:
1 $arr=array(1,"01"=>"a","02"=>"b",4,"03"=>"c"); 2 foreach($arr as $k=>$v){ 3 echo $k."=>".$v."<br>"; 4 }
3.联合使用list()、each()和while()循环遍历数组
注意:list()语言结构仅能用于数字索引的数组并且假定数字索引从0开始。(可配合each()函数或者array_values()函数使用)。
代码:
1 $arr=array(1,"01"=>"a","02"=>"b",4,"03"=>"c"); 2 while(list($k,$v)=each($arr)){ 3 echo $k."=>".$v."<br>"; 4 }
4.使用函数内部指针遍历数组
指针函数:current()、key()、next()、prev()、end()、reset()
代码:
1 $arr=array(1,"01"=>"a","02"=>"b",4,"03"=>"c"); 2 do{ 3 echo key($arr)."=>".current($arr)."<br>"; 4 }while(next($arr));
多维数组的遍历:
二维数组为例:
代码:
1 $arr=array( 2 array("aa","AA"), 3 array("bb","BB"), 4 array("cc","CC"), 5 array("dd","DD"), 6 array("ee","EE"), 7 ); 8 echo "<table border=‘1‘ align=‘center‘ width=‘400‘>"; 9 echo "<caption><h2>大小写</h2></caption>"; 10 echo "<tr><th>小写</th><th>大写</th></tr>"; 11 foreach($arr as $v){ 12 echo "<tr align=‘center‘>"; 13 foreach($v as $value){ 14 echo "<td>{$value}</td>"; 15 } 16 echo "</tr>"; 17 } 18 echo "</table>"; 19
预定义全局数组
$_SERVER、$_GET、$_POST、$_REQUEST、$_FILES、$_COOKIE、$_SESSION、$GLOBALS
数组函数(查手册)
常用数组函数
数组的键名和值:
array_values()
array_keys()
array_flip()
in_array()
array_search()
array_key_exists()
数组内部指针:
current()
next()
prev()
end()
reset()
key()
数组分段和填充:
array_slice()
array_splice()
array_pad()
数组栈和队列:
array_push()
array_pop()
array_shift()
array_unshift()
数组排序:
sort()
rsort()
asort()
arsort()
ksort()
krsort()
natsort()
natcasesort()
数组计算:
array_sum()
array_merge()
array_diff()
array_diff_assoc()
array_intersect()
array_intersect_assoc()
其他数组函数:
array_combine()
array_unique()
shuffle()
array_rand()
compact()
substr_count()
以上是关于PHP数组的主要内容,如果未能解决你的问题,请参考以下文章