<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="Basedemo/DemoPage.css"> </head> <body> <div id="main"> <div id="wrapper"> <h3>第一种数组创建方式:</h3> <div id="content"> <?php /* array数组是一系列的键值对的集合,值可以是任何类型 */ //分开赋值创建数组: $arr1[0]=123; $arr1[1]="word"; $arr1[2]=2.333; $arr1[3]=true; $arr1[4]=null; $len1= count($arr1); echo '$arr的长度: '.$len1."<br/>";//5 echo 'for循环数组中的值: <br/>'; for ($i=0; $i < $len1; $i++) { echo $arr1[$i].'<br/>'; } ?> </div> <h3>第二种数组创建方式:</h3> <div id="content"> <?php $arr2=array (2,5,6,8,"face",false); echo 'for循环数组中的值: <br/>'; for ($i=0; $i < count($arr2); $i++) { echo $arr2[$i].'<br/>'; } ?> </div> <h3>第三种数组创建方式:</h3> <div id="content"> <?php $arr3=array ('bian'=>'编','cheng'=>'程','shi'=>'世','jie'=>'界'); echo $arr3['bian'].$arr3['cheng'].$arr3['shi'].$arr3['jie']; echo '<br/><p>foreach遍历循环数组中的值: </p>'; //PHP4.0引入的函数,适用范围更广($key和$val 是自定义变量) foreach ($arr3 as $key=>$val) { echo $key."=".$val."<br/>"; } ?> </div> <h3>数组的细节(键):</h3> <div id="content"> <?php //没有指定下标或索引时,会找到此元素的前一个元素的索引加1 // $arr4 = array(3=>"bad",25,33,"c"=>"cc"); $arr4[5]="被修改了";//如果数组中索引对应元素已经存在,重新赋值会覆盖原来的值 foreach ($arr4 as $key => $value) { echo $key."=".$value."<br/>"; } //输出结果: // 3=bad // 4=25 // 5=被修改了 // c=cc //当以true和false来做键名时,取值时,true的键为1,false的键为0 //当以null为键名时,取值时,可以""或null为键来取值 //当以小数来做为键时,取值时,将自动截断小数位,但以小数或整数为键都能取到值 $arr5[true]="值为true"; $arr5[false]="值为false"; $arr5[null]="值为null"; $arr5[12.33]="12.33"; echo $arr5[1]."<br/>"; echo $arr5[0]."<br/>"; echo $arr5[""]."<br/>"; echo $arr5[null]."<br/>"; echo $arr5[12.33]."<br/>"; echo $arr5[12]."<br/>"; //输出 //值为true // 值为false // 值为null // 值为null // 12.33 // 12.33 //print_r 显示数组信息: echo "<p>print_r()显示数组信息:</p>"; print_r($arr5); echo "<p>var_dump()显示数组详细信息:</p><br/>"; var_dump($arr5); //注意:不能以数组或对象做为键,否则导致警告:lllegal offset type //以字符为键时,取值时的键也要为字符,且都要有引号(否则会当作常量) //const tt=8;//加这句不报错,不加报错:Notice: Use of undefined constant tt - assumed 'tt' $arrx[tt]=123; echo $arrx[tt]; ?> </div> <h3>索引超过界线 和 数组的动态增长:</h3> <div id="content"> <?php //当取不存在的索引处的值时,会报错:Notice: Undefined offset $arr6 = array(1,5,8); echo $arr6[3]; //PHP中与其它语言不同的是:数组可以动态增长,可以动态添加新的键值对 $arr6[4]="新增加的值"; foreach ($arr6 as $key => $value) { echo $key."=".$value."<br/>"; } //输出: // 1=5 // 2=8 // 4=新增加的值 ?> </div> <h3>数组的常用函数</h3> <div id="content"> <?php $arr7 = array(1,8,9,2,3,5,88,91,25); $a="555"; //获取数组的长度 echo count($arr7)."<br/>"; //9 //判定一个变量是否为一个数组 //如果为true,返回1,如果为false,返回"" echo is_array($a)."<br/>"; //"" echo is_array($arr7)."<br/>"; //1 //以任意字符分割字符串 explode // $strCity="北京 上海 广州 武汉"; // $arr8 = explode(" ",$strCity); $strCity="北京#上海#广州#武汉"; $arr8 = explode("#",$strCity); print_r($arr8); echo "<br/>"; //Array ( [0] => 北京 [1] => 上海 [2] => 广州 [3] => 武汉 ) //unset()函数:销毁一个或多个元素、变量 $arr9 = array(1,2,3,4,5,6,7); //删除元素5,索引不会重建 unset($arr9[4]); unset($arr9[1],$arr9[2]); print_r($arr9);//Array ( [0] => 1 [3] => 4 [5] => 6 [6] => 7 ) //数组运算符: //数组联合:$arr1+$arr2 // //是否相等:$arr1==$arr2 //全等于 ===//不等 !=//不全等 !===; $arr10 = array('a'=>'one','b'=>'two'); $arr11 = array('a'=>'three','b'=>'foure','c'=>'five'); echo "<br/>"; print_r($arr10+$arr11);// Array ( [a] => one [b] => two [c] => five ) echo "<br/>"; print_r($arr11+$arr10);// Array ( [a] => three [b] => foure [c] => five ) echo "<br/>"; ?> </div> </div> </div> <div id="footer"><div class="tri"></div><h1>PHP基础 之 数组 创建遍历查找</h1></div> </body> </html>