PHP学习笔记九【数组二】

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd">
<html>
<meta charset="utf-8" /> <!--指定页面编码方式--->

<?php
 $arr[0]=1;
 $arr[1]="hello world";
 $arr[2]=true;
 $arr[3]=45.45;
 //php 数组的值可以是任意类型的
  for( $i=0;$i<count($arr);$i++)
  {
   echo "<br/>".$arr[$i];
 
  }
  
  //数组的第二种方式
  echo '<br/>创建数组的第二种方式';
  $arr1=array(1,"hello world",23.4,false);
  for($j=0;$j<count($arr1);$j++)
  {
    echo "<br>".$arr1[$j];
  }
  
  //数组的第三种方式可以指定key,默认情况下key是0
  $arr2["test1"]="hello";
  $arr2["test2"]="world";
  $arr2["num"]="34"; 
  for($z=0;$z<count($arr2);$z++)
  {
    echo "<br/>".$arr2[$z]; //自己指定key的时候无法使用这种方式遍历,只能用foreach便利
  }
  echo "<br/>无法使用for进行遍历,只能使用foreach"; 
  //foreach 使用范文更广泛
  foreach($arr2 as $val)
  {
   echo "<br/>".$val;
  }
  
  echo "<br/>"."输出key"; 
  foreach($arr2 as $key=>$val)
  {
   echo "<br/>".$key."=".$val."<br/>";
  }
  
  //*********************
  $arr3[true]="hello "; //如果用true作为key那么要用1来访问 $arr3[1]
  $arr3[false]="world"; //如果用false作为key 那么用0来访问 $arr3[0]
  $arr3[null]="北京"; //如果用null作为key 可以用null和“”来访问$arr3[null] 或者 $arr3[""];
  echo "<br/>访问true,false,null 为key的数组";
  echo $arr3[null];
  echo $arr3[""];
 //********************* 
  $arr4[123.4]="hello world";
  echo "<br/>".$arr4[123.4];
   echo "<br/>".$arr4[123];
   echo "<br/>";
   print_r($arr4); //print_r输出数组信息
    echo "<br/>";
   var_dump($arr4);// var_dump可以更加详细的输出数组信息
   //*********************
   echo "<br/>PHP的数组是可以动态增长的";
   $arr5=array(2,3);
   $arr5[2]="hello world";
   $arr5[5]="beijing";  //这样数组不会报错,只是3,4没有用到而已,但是不能通过$arr5[3]去访问
   foreach($arr5 as $val)
   {
    echo "<br/>".$val;
   }
  //********************判断是否是一个数组
  echo "<br/>";
  $arr6=array(23,56);
  $b=4;
  echo is_array($arr6);
  echo "<br/>".is_array($b);
  
  //********************拆分字符串explode返回数组
  $str="北京&顺平&天津&宋江";
  $arr7=explode("&",$str);
 echo "<br/>".var_dump($arr7)."元素有".count($arr7);
 
 //例子
  echo "<br/>";
 $colors=array("red","blue","green","yellow");
 for($i=0;$i<count($colors);$i++)
 {
    echo "<br/>".$colors[$i];
 }
 //用while遍历
 $i=0;//循环控制变量
   while($i<count($colors))
    {
        echo "<br/>".$colors[$i];
        $i++;
    }
 
 //do while
 $i=0;
do{
   echo "<br/>".$colors[$i];
   $i++;
 }while($i<count($colors));
 
 //foreach 遍历
 foreach($colors as $key=>$val)
 {
   echo "<br>".$key."=".$val;
 }
 //**********unset释放一个变量,使用了该方法表示把元素彻底删除
 
 $arr8[0]=123;
 $arr8[1]=345;
 $arr8[2]="hello world";
 unset($arr8[1]);
 foreach($arr8 as $val)
 {
   echo "<br/>".$val;
 }
 
 //如果我们创建一个数组的时候,没有给某个元素指定下标,
 //那么php就会以当前最大的那个下标值加1作为该元素的下标
 echo "<br/>";
 $arr=array(5=>"logo",567,90);
 $arr[5]="yes";//修改数组元素的值,可以直接通过索引来修改
 echo $arr[5];
 echo "<br/>".$arr[6];
 echo "<br/>".$arr[7];
 
 //数组陷阱
 $arr[bar]="hello world";  //不加引号就相当于bar是个常量,这样用可能会出现致命错误
 echo "<br/>".$arr[bar];
 //数组运算符+表示联合两个元素(会把右边的相同的键去除)
 $a=array("a"=>"apple","b"=>"bannana");
 $b=array("a"=>"pear","b"=>"strawberry","c"=>"cherry");
 $c=$a+$b;
 echo "\$a+\$b result <br/>";
 
 var_dump($c);
 $c=$b+$a;
 echo "\$b+\$a result <br/>";
 
 var_dump($c);
?>
</html>

 

posted @ 2014-08-27 23:55  编程猴子  阅读(171)  评论(0编辑  收藏  举报