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

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

























































































































































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值