• 冒险村物语
  • 英雄无敌3塔防
  • 驾考家园手游

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

2014-09-05

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$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);
?>%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>

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)

人气推荐

知识阅读

精彩推荐

  • 游戏
  • 软件
查看更多>>