知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > PHP编程

PHP自学之路-----走进数组及相关数组函数

发布时间:2014-09-05 10:33:58作者:知识屋

PHP数组:
     数组时一组关键字和值得集合,值可以是任何一种类型;看下面简单的入门案例:
[php]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
 <head> 
  <title> 数组入门 </title> 
  <meta http-equiv="content-type"  content="text/html;charset=utf-8"> 
 </head> 
 <body> 
 <?php 
    $hens[0]=3; 
    $hens[1]=5; 
    $hens[2]=2.5; 
    $hens[3]=4; 
    $hens[4]=3.5; 
    $hens[5]=17; 
 
    //为了计算数组元素的个数,使用系统函数count;  
    echo "最共有".count($hens)." 只鸡<br/>"; 
    $allwight=0; 
    for($i=0;$i<count($hens);$i++){ 
        echo "第".$i."只鸡重量".$hens[$i]."<br/>"; 
        $allwight+=$hens[$i]; 
    } 
 
    echo "最重量为:".$allwight.";平均重量为:".$allwight/count($hens); 
 ?> 
   
 </body> 
</html> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> 数组入门 </title>
  <meta http-equiv="content-type"  content="text/html;charset=utf-8">
 </head>
 <body>
 <?php
    $hens[0]=3;
    $hens[1]=5;
    $hens[2]=2.5;
    $hens[3]=4;
    $hens[4]=3.5;
    $hens[5]=17;

 //为了计算数组元素的个数,使用系统函数count;
    echo "最共有".count($hens)." 只鸡<br/>";
 $allwight=0;
 for($i=0;$i<count($hens);$i++){
        echo "第".$i."只鸡重量".$hens[$i]."<br/>";
     $allwight+=$hens[$i];
 }

 echo "最重量为:".$allwight.";平均重量为:".$allwight/count($hens);
 ?>
 
 </body>
</html>[plain] view plaincopyprint?
最共有6 只鸡 
第0只鸡重量3 
第1只鸡重量5 
第2只鸡重量2.5 
第3只鸡重量4 
第4只鸡重量3.5 
第5只鸡重量17 
最重量为:35;平均重量为:5.8333333333333 

最共有6 只鸡
第0只鸡重量3
第1只鸡重量5
第2只鸡重量2.5
第3只鸡重量4
第4只鸡重量3.5
第5只鸡重量17
最重量为:35;平均重量为:5.8333333333333创建数组
创建数组的方式很多,上面例子是最普通的一种方式。
在PHP数组中,每一个元素的值可以是任意的类型!
第二种方式:
$arr= array(1,90,"hello",null);
第三种方式创建数组
 $arr["logo"] ="beijing";$arr["hsp"]=124;$arr[4]=678;
等同于下面的:
$arr=array("logo"=>"beijing","hsp"=>123,4=>678);
遍历方式:
 foreach($arr as $key=>$val){
     echo $key."=".$var."<br/>";
}
 第三种方式 指定数组不能用for循环访问,应该用上面的方式遍历。
[php] 
//数组注意事项:  
//我们在创建数组的时候,如果没有给某个元素制定下标,PHP会自动的用目前最大的那个下标值(整数),加上1作为该元素的下标。  
$arr=array(5=>"logo",55,56); 
$arr=array(5=>"logo",6=>55,7=>56); 

  //数组注意事项:
  //我们在创建数组的时候,如果没有给某个元素制定下标,PHP会自动的用目前最大的那个下标值(整数),加上1作为该元素的下标。
  $arr=array(5=>"logo",55,56);
  $arr=array(5=>"logo",6=>55,7=>56);
 /数组的一些应用[php] %20<?php //%20创建一个简单的数组     %20$array%20=%20array(1,%202,%203,%204,%205);    %20print_r($array);    %20echo%20"<br/>";  //%20现在删除其中的所有单元,但保持数组本身的结构     %20foreach%20($array%20as%20$i%20=>%20$value)%20{        %20unset($array[$i]);   %20}   %20print_r($array);   %20echo%20"<br/>";   %20//%20添加一个单元(注意新的键名是%205,而不是你可能以为的%200)   %20$array[]%20=%206;  %20print_r($array);  %20echo%20"<br/>";  //%20重新索引:  $array%20=%20array_values($array); $array[]%20=%207; print_r($array); echo%20"<br/>"; var_dump($array); ?>   

 %20<?php//%20创建一个简单的数组   %20$array%20=%20array(1,%202,%203,%204,%205);   %20print_r($array);   %20echo%20"<br/>";

//%20现在删除其中的所有单元,但保持数组本身的结构   %20foreach%20($array%20as%20$i%20=>%20$value)%20{       %20unset($array[$i]);  %20}  %20print_r($array);  %20echo%20"<br/>";

 %20//%20添加一个单元(注意新的键名是%205,而不是你可能以为的%200) %20$array[]%20=%206; %20print_r($array); %20echo%20"<br/>";

//%20重新索引:$array%20=%20array_values($array);$array[]%20=%207;print_r($array);echo%20"<br/>";var_dump($array);?> %20[plain] 执行结果: 

执行结果:[plain]Array%20(%20[0]%20=>%201%20[1]%20=>%202%20[2]%20=>%203%20[3]%20=>%204%20[4]%20=>%205%20)  Array%20(%20)  Array%20(%20[5]%20=>%206%20)  Array%20(%20[0]%20=>%206%20[1]%20=>%207%20)  array(2)%20{%20[0]=>%20int(6)%20[1]=>%20int(7)%20} 

Array%20(%20[0]%20=>%201%20[1]%20=>%202%20[2]%20=>%203%20[3]%20=>%204%20[4]%20=>%205%20)Array%20(%20)Array%20(%20[5]%20=>%206%20)Array%20(%20[0]%20=>%206%20[1]%20=>%207%20)array(2)%20{%20[0]=>%20int(6)%20[1]=>%20int(7)%20}

PHP相关的常用函数1、count   %20统计数组元素的个数,使用:count($arr);2、is-array  %20判断是否为数组,is_array($arr);3、print_r%20和var_dump(可显示数组元素类型)   %20显示数组信息4、explode(在实际开发中,用途比较大)  %20拆分字符串函数。explode(“按照什么拆分”,字符串)5、foreach   %20数组遍历函数: %20[plain]  foreach($arr%20as%20$key=>$val){      %20echo%20$key."=".$var."<br/>";  

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

    %20echo%20$key."=".$var."<br/>";

}6、unset %20unset()删除数组中的某个元素,但是不会重组索引。前面的例子已经说明!7、array_values   %20重新索引,一般和上面的函数配合使用!具体看什么的例子

数组比较 [php<?php $a%20=%20array("a"%20=>%20"apple",%20"b"%20=>%20"banana"); $b%20=%20array("a"%20=>%20"pear",%20"b"%20=>%20"strawberry",%20"c"%20=>%20"cherry");  $c%20=%20$a%20+%20$b;%20//%20Union%20of%20$a%20and%20$b  echo%20"Union%20of%20/$a%20and%20/$b:%20/n"; var_dump($c);  $c%20=%20$b%20+%20$a;%20//%20Union%20of%20$b%20and%20$a  echo%20"Union%20of%20/$b%20and%20/$a:%20/n"; var_dump($c); ?>  

<?php$a%20=%20array("a"%20=>%20"apple",%20"b"%20=>%20"banana");$b%20=%20array("a"%20=>%20"pear",%20"b"%20=>%20"strawberry",%20"c"%20=>%20"cherry");

$c%20=%20$a%20+%20$b;%20//%20Union%20of%20$a%20and%20$becho%20"Union%20of%20/$a%20and%20/$b:%20/n";var_dump($c);

$c%20=%20$b%20+%20$a;%20//%20Union%20of%20$b%20and%20$aecho%20"Union%20of%20/$b%20and%20/$a:%20/n";var_dump($c);?>%20[plain] Union%20of%20$a%20and%20$b: array(3)%20{  %20["a"]=>  %20string(5)%20"apple"  %20["b"]=>  %20string(6)%20"banana"  %20["c"]=>  %20string(6)%20"cherry" Union%20of%20$b%20and%20$a: array(3)%20{  %20["a"]=>  %20string(4)%20"pear"  %20["b"]=>  %20string(10)%20"strawberry"  %20["c"]=>  %20string(6)%20"cherry" }  

Union%20of%20$a%20and%20$b:array(3)%20{ %20["a"]=> %20string(5)%20"apple" %20["b"]=> %20string(6)%20"banana" %20["c"]=> %20string(6)%20"cherry"}Union%20of%20$b%20and%20$a:array(3)%20{ %20["a"]=> %20string(4)%20"pear" %20["b"]=> %20string(10)%20"strawberry" %20["c"]=> %20string(6)%20"cherry"}[php] 比较数组  <?php $a%20=%20array("apple",%20"banana"); $b%20=%20array(1%20=>%20"banana",%20"0"%20=>%20"apple");  var_dump($a%20==%20$b);%20//%20bool(true)  var_dump($a%20===%20$b);%20//%20bool(false)  ?>   

比较数组

<?php$a%20=%20array("apple",%20"banana");$b%20=%20array(1%20=>%20"banana",%20"0"%20=>%20"apple");

var_dump($a%20==%20$b);%20//%20bool(true)var_dump($a%20===%20$b);%20//%20bool(false)?> 

[php]<!DOCTYPE%20HTML%20PUBLIC%20"-//W3C//DTD%20HTML%204.01%20Transitional//EN"%20"http://www.w3.org/TR/html4/loose.dtd"> <html>  <head>  %20<title>%20综合案例%20</title>  %20<meta%20http-equiv="content-type" %20content="text/html;charset=utf-8">  </head>   <body>   %20<?php  %20//error_reporting(E_ALL^E_NOTICE);      %20$aar=$_REQUEST["grade"];     %20$arr=explode(",",$aar);     %20$allval=0;     %20foreach($arr%20as%20$val){         %20$allval+=$val;     %20}  ?>  <h1>请输入学员的成绩,用逗号隔开</h1>  <form%20action="array03.php"%20method="post">   %20<input%20type="text"%20name="grade"%20value="<?php%20echo%20$aar%20?>"/>   %20<input%20type="submit"%20value="计算平均值"/>  </form>   <?php     %20$aar=$_REQUEST["grade"];     %20$arr=explode(",",$aar);     %20$allval=0;     %20foreach($arr%20as%20$val){         %20$allval+=$val;     %20}  ?>  <?php     %20echo%20"平均值:".round($allval/count($arr),2);  ?>     </body> </html> 

<!DOCTYPE%20HTML%20PUBLIC%20"-//W3C//DTD%20HTML%204.01%20Transitional//EN"%20"http://www.w3.org/TR/html4/loose.dtd"><html> <head> %20<title>%20综合案例%20</title> %20<meta%20http-equiv="content-type" %20content="text/html;charset=utf-8"> </head>

 <body>

 %20<?php %20//error_reporting(E_ALL^E_NOTICE);    %20$aar=$_REQUEST["grade"];    %20$arr=explode(",",$aar); %20$allval=0; %20foreach($arr%20as%20$val){  %20$allval+=$val; %20} ?> <h1>请输入学员的成绩,用逗号隔开</h1> <form%20action="array03.php"%20method="post">  %20<input%20type="text"%20name="grade"%20value="<?php%20echo%20$aar%20?>"/>  %20<input%20type="submit"%20value="计算平均值"/> </form>

 <?php    %20$aar=$_REQUEST["grade"];    %20$arr=explode(",",$aar); %20$allval=0; %20foreach($arr%20as%20$val){  %20$allval+=$val; %20} ?> <?php %20echo%20"平均值:".round($allval/count($arr),2); ?>  </body></html>

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜