您的位置:首页 > 编程语言 > PHP开发

php学习之路----数组,多维数组,数组函数

2015-02-03 23:17 267 查看
php数组

数组基本写作格式:

1:简单形式 Array("aa",12,true,2.2," test",50);

2:完整形式 Array("title"=>"aa","age"=>20);这种格式为数组创建了键名,如果创建了键名,就不能通过下标0,1,2。。。来访问数组元素

了。

3:$arr[0]='20'; $arr[1]='hello world';

数组的创建,修改,删除,使用

修改数组元素

$arr=array(11,22,33,44);

$arr[0] = 66; 数组变为$arr=array(66,22,33,44);

删除数组元素

$arr = array(11,22,33,44);

unset($arr[0]); 数组变为$arr = array(22,33,44);

访问单个元素,可以通过下标或者通过键名访问

$arr = array(11,22,33,44);

echo $arr[0]; 值为11------对于简单数组,可以通过下标来访问

$arr = array('a'=>11,'b'=>22,'c'=>33);

echo $arr['b'];值为22-----对于这种数组,是没有办法通过下标来访问数组元素的

数组的遍历

所谓遍历数组就是将数组里的元素根据要求逐个打印或者得到相关的值。我们可以通过php5之后提供的一个非常不错的函数foreach实现,格式如

下。

foreach($arr as $key=>$val){

[相关$key 或 $val 内容]

}

$arr--要访问的数组 $key---数组的键名或者下标存储的变量 $val--数组的键值存储的变量

数组的遍历

$info = array("A"=>"php","B"=>"100","c"=>"com");

foreach($info as $value){

echo $value."<br>";

}

这种遍历格式,只是访问数组的键值,忽略数组的键名。

echo "<hr>";

foreach($info as $id=>$value){

echo $id."---".$value."<br>";

}

这种遍历方式可以访问数组的键名和键值。

值得注意的是:foreach理论上只能遍历一维数组。

二维数组

二维数组或者多维数组其实我们可以理解成为数组里面再次包含了数组类型的值,并通过同样的思路去访问。下面构造一个二维数组。

$arr = array(array("p","pp","ppp"),array("H","HH","HHH"));

echo $arr[1][2]; 打印出来的值是HHH

下面给出几个例子

$arr = array(1,2,3,4,5);

打印数组的函数有var_dump,print_r

var_dump打印出来后会显示键值的数据类型,print_r打印出来后不会显示键值的数据类型。

一般数组的默认的下标是从0开始的,想下面这种书写格式。

$arr = array("a","v","c","6");

假如我们想数组的下标默认的从4开始的话,只需要这样声明数组就可以了。

$arr = array(4=>"a","v","c","6");后面的下标就会从4开始,下标依次为4,5,6,7。

我们也可以这样声明数组

$arr = array(4=>"a","v",45=>"c","6");这样做的话,下标依次是4,5,45,46。

好,接下来我们再声明一个数组,检验一下删除数据元素后,数组的下标变化。

$arr = array("a","b","c","d");

unset($array[3]); 打印键名为0,1,2。

unset($array[1]); 打印键名为0,2,3。

下面遍历一下二维数组,假如我们确定是二维数组的话。

声明二维数组

$arr = array(array("4","444"),"2","7","8","6");

foreach($arr as $key1=>$value1){

if(is_array($value1)){

foreach($value1 as $key2=>$value2){

echo $value2."<br>";

}

}else{

echo $value1."<br>";

}

}

这样我们就可以遍历二维数组了。

数组的排序

$arr = array(4,2,6,1);

从小到大对键值进行排序:sort($arr);

从大到小对键值进行排序:rsort($arr);

对数组的键名进行排序---注意大写字母排在小写字母的前面

$arr = array("A"=>4,"a"=>2,"C"=>6);

ksort($arr);

krsort($arr);

统计数组元素个数的函数count($arr);

求数组和的函数 array_sum($arr);---结果是12
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: