PHP——数组和数据结构
<body> <?php $arr[0]=5;//赋值定义 $arr[1]="aa"; print_r($arr); echo "<br />"; $array=array(1,2,3,4,5,6);//定义索引数组 print_r($array); echo "<br />"; $array1=array("aa"=>5,"bb"=>6,"cc"=>7);//关联数组,用key来取值 print_r($array1["aa"]); echo "<br />"; //遍历数组 //一、for循环 for($i=0;$i<count($array);$i++) //只适用于索引数组 { echo $array[$i]."<br />"; } //二、foreach循环 只取值 foreach($array as $value) { echo $value."<br />"; } //取key和value foreach($array as $key=>$value) { echo $key."->".$value."<br />"; } //更为简便 foreach($array as $key=>$value) { echo "{$key}=>{$value}<br />";//{} } //each()函数 取数组当前指针指向的元素信息,返回一个含键值对的数组,每执行一次,往下走一次 $array2=array("aa"=>1,2,3,"d"=>4,5,6); each($array2); each($array2); print_r(each($array2)); echo "<br />"; //list() 特殊函数 唯一一个"="放在右边的函数,右边只能写一个数组 只针对于索引数组 //将右边数组的每个元素映射到左边的变量 $array3=array(1,2,3,4,5,6); list($a,$b,$c,,$e,$f)=$array3; echo $b; echo "<br />"; //三、each(),list(),while循环遍历 while(list($key,$value)=each($array3)) { echo "{$key}->{$value}<br />"; } //指针 each()函数会改变指针位置 //current()会改变当前指针位置 $array4=array(1,2,3,4,5,6); echo current($array4);//1 echo "<br />"; print_r(each($array4));//each()改变指针位置 echo "<br />"; echo current($array4);//指针变为2 echo "<br />"; //key() 返回当前指针位置的索引 echo key($array4);//1 echo "<br />"; //prev() 将指针倒回一位 echo current($array4);//2 echo "<br />"; echo prev($array4);//1 echo "<br />";//2 //next(); 将指针向前移动一位 echo next($array4); echo "<br />"; //end()将指针放到结尾 echo end($array4);//6 echo "<br />"; //reset()重置,将指针放到最前 echo reset($array4); echo "<br />";//1 //四、指针遍历 while(next($array4)) { } ?> <br /> <?php //预定义数组 //全局变量 $a=5; $b=6; function test() { global $a; global $b; return $a*$b; } echo test(); echo "<br />"; //预定义数组的全局变量 //$GLOBALS[] $c=5; $d=6; function test1() { return $GLOBALS['c']*$GLOBALS['d']; } echo test1(); //$_SERVER 服务器和执行环境信息 //提交传值 //get 显示传输的数据 有长度限制 //推荐用post //保存登陆状态 ?> <form name="" method="post" action="CHULI.php"> <input type="text" name="uid"><br /> <input type="text" name="pwd"><br /> <input type="submit" name="button" value="登陆"> </form> </body>
输出结果:
笔记:‘
数组:
一:定义
1.赋值定义
$arr[0] = 5;
$arr[1] = "aa";
2.定义索引数组
$arr = array(1,2,3,4,5);
3.定义关联数组,只能用key来取值
$arr = array("aa"=>5,"bb"=>6,7=>"cc");
二:取值
1.索引数组取值:
$arr[0];用索引号来取值
2.关联数组取值:
$arr["aa"];用key取值
三:遍历数组
1.for循环
for($i=0;$i<count($arr);$i++)
{
echo $arr[$i]."<br>";
}
优点:通用,简单。缺点:只能遍历索引数组
2.foreach遍历
foreach($arr as $value)
{
echo $value."<br>";
}
//或
foreach($arr as $key=>$value)
{
echo "{$key}->{$value}<br>";
}
3.each()函数
each($arr);取数组里面当前指针指向的元素的信息,返回一个包含键值对的数组,每执行一次,指针向下走一次,指向下一个元素。
4.list()函数
list($a,$b,$c,$d,$e,$f) = $arr;将索引数组的每个元素映射到list变量列表里面
5.while遍历
在while()语句每次循环中,each()语句将当前数组元素的键,赋给list()函数的第一个参数变量$key。并将当前数组元素中的值,赋给list()函数中的第二个参数变量$value,并且each()语句执行之后还会把数组内部的指针向后移动一步,因此下次while()语句循环时,将会得到该数组中下一个元素的键/值对。直到数组的结尾each()语句返回FALSE,while()语句停止循环,结束数组的遍历。
while(list($key,$value) = each($arr))
{
echo "{$key}->{$value}<br>";
}
6.指针:
current($arr)返回当前位置中的内容
key($arr)返回当前位置的索引
prev($arr);将指针倒回一位
next($arr);将指针向前移动一位
end($arr);将指针指向最后一个单元
reset($arr);将指针指向第一个单元
四:预定义数组
global $b;声明全局变量
五:其它
querystring:提交传值字符串