zoukankan      html  css  js  c++  java
  • PHP第六课 使用方法数组

    学习要点:

    *使用主阵列功能的理解

    *知道如何遍历

    *了解超全局数组和使用的基本关系


    数组

    1.数组定义和遍历
    2.数组函数

    数组定义:
    $arr=array(1,2,3);//索引数组,下标全是数字
    $arr=array("name"=>"user1","age"=>"30");//关联数组,下标中包括字母
    //下标仅仅有两种,要么是字母,要是是不带双引號的数字
    <?php
    			
    			$arr=array("name"=>1,3,"age"=>4,5,100=>6,7,400=>8,9);
    			echo "<pre>";
    			print_r ($arr);
    			echo "</pre>";
    
    
    			?>



    数组下标:
    假设是字母
    $arr=array("name"=>1,3,"age"=>4,5,100=>6,7,400=>8,9);
    //下标打印:"name"   0 
    [name] => 1
       [0] => 3
       [age] => 4
       [1] => 5
       [100] => 6
       [101] => 7
       [400] => 8
       [401] => 9


    数组取值:
    1.输出整个数组
    print_r($arr)



    2.输出数组中的某个值
    $arr=array("name"=>1,3,"age"=>4,5,"100"=>6,7,"400"=>8,9);
    			
    				echo $arr['age'];
    				echo "<br>";
    				echo $arr[100];



    3.数组赋值:
    1.$arr['age']=30;
    数组赋值也能够定义数组:
    $arr[]=1;
    $arr[]=2;

    4.数组遍历:
    1.for循环
    <?php
    	
    	
    				$arr[]=1;
    				$arr[]=2;
    				$arr[]=3;
    				$arr[]=4;
    				$arr[]=5;
    				$arr[]=6;
    				
    				
    			 	for($i=0;$i<5;$i++){
    			 		
    			 		echo "<h1>第".($i+1)."个人的名字是{$arr[$i]}</h1>";
    			 	
    			 	}
    				?>



    循环加推断:
    	<?php
    	
    	
    			$arr[]=1;
    			$arr[]=2;
    			$arr[]=3;
    			$arr[]=4;
    			$arr[]=5;
    			$arr[]=6;
    			
    			
    		 	for($i=0;$i<5;$i++){
    		 		
    		 		if($i%2==0){
    		 				echo "<h1>第".($i+1)."个人的名字是{$arr[$i]}</h1>";
    		 		}else{
    		 			echo "<h1 style='color:blue'>第".($i+1)."个人的名字是{$arr[$i]}</h1>";
    		 		}
    		 	
    		 	}
    			?>


    2.foreach循环
    foreach 进行数组遍历:
    <?

    php //键值对 name="user1" 就是数组下标和值,key和value $arr['name']="junzai"; $arr['age']=20; $arr['sex']="man"; $arr[]="abc"; echo "<pre>"; print_r ($arr); echo "</pre>"; foreach($arr as $key=>$val){ $num++; if($num%2==1){ echo "<h1>{$key}:{$val}</h1>"; }else{ echo "<h1 style='color:red'>{$key}:{$val}</h1>"; } } ?>




    3.while....list ..each 循环遍历
    while(list($key,$val)=each($arr)){
    echo $key.$val;
    }

    //推荐使用foreach遍历数组

    多维数组:
    1.一维数组 $arr=array(1,2,3);
    $arr[0];
    2.二维数组 $arr=array(1,2,array(4,5));
    $arr[2][0];
    2.二维数组 $arr=array(1,2,array(3,array(4,5)));
    $arr[2][1][0];


    二维数组遍历:
    <?php
    	
    			    header("content-type:text/html;charset=utf-8");
    			    
    			    $arr=array("a","b",array("c","d"),array("e"));
    			    
    			    echo "<pre>";
    				
    				print_r($arr);	
    				
    				echo "</pre>";
    				
    				echo "<hr>";
    				
    				
    				foreach($arr as $val){
    				
    					if(is_array($val)){
    						foreach($val as $val2){
    							echo $val2."<br>";
    						}
    					} else{
    						echo $val."<br>";
    					}
    				}
    				
    				?>




    三维数组取值:
    <?php
    	
    			    header("content-type:text/html;charset=utf-8");
    			    
    			    $arr=array("a","b",array("c","d"),array("e",array("f","z")));
    			    
    			    echo "<pre>";
    				
    				print_r($arr);	
    				
    				echo "</pre>";
    				
    				echo "<hr>";
    				
    				foreach($arr as $val){
    				
    				if(is_array($val)){
    					foreach($val as $val2){
    						if(is_array($val2)){
    							foreach($val2 as $val3){
    								echo $val3."<br>";
    							
    							}
    						}else {
    							echo $val2."<br>";
    						}
    					}
    				} else{
    					echo $val."<br>";
    				}
    				
    				}
    				?>



    //推荐使用一维数组和二维数组
    一张数据表事实上就是一个二维数组,里面的每一行记录就是一个一维数组

    查询数据库:
    <?

    php header("content-type:text/html;charset=utf-8"); mysql_connect("localhost","root","1234"); mysql_select_db("test"); mysql_query("set names utf8"); $sql = "select * from user"; $result = mysql_query($sql); $row1 = mysql_fetch_assoc($result); echo "<pre>"; print_r($row1); echo "</pre>"; ?>






    超全局数组:
    超全局数组
    $_SERVER
    $_GET
    $_POST
    $_REQUEST
    $_FILES
    $_COOKIES
    $_SESSION
    $GLOBALS

    $_SERVER 查看server信息
    <?php
    	
    				    header("content-type:text/html;charset=utf-8");
    				    
    				    echo "<pre>";
    				    print_r($_SERVER);
    				    echo "</pre>";
    				    
    					?

    >


    Apache/2.2.8 (Win32) PHP/5.2.6 Server at localhost Port 80




       [SERVER_SOFTWARE] => Apache/2.2.8 (Win32) PHP/5.2.6
       [SERVER_NAME] => localhost//server域名
       [SERVER_ADDR] => 127.0.0.1//serverip
       [SERVER_PORT] => 80//port号
       [REMOTE_ADDR] => 127.0.0.1  //client訪问ip
       [DOCUMENT_ROOT] => E:/AppServ/www
       [SERVER_ADMIN] => goxuexi@126.com
       [SCRIPT_FILENAME] => E:/AppServ/www/index.php  //脚本文件名称字的绝对路径
       [REMOTE_PORT] => 49881
       [GATEWAY_INTERFACE] => CGI/1.1
       [SERVER_PROTOCOL] => HTTP/1.1
       [REQUEST_METHOD] => GET
       [QUERY_STRING] =>                   //请求字符串
       [REQUEST_URI] => ///请求url地址
       [SCRIPT_NAME] => /index.php//脚本名称(相对站点根文件夹)
       [PHP_SELF] => /index.php
       [REQUEST_TIME] => 1407568551//訪问时间
       [argv] => Array
           (
           )


       [argc] => 0
    )

    $_GET 获取用get提交过来的数据

    http://localhost/index.php?

    id=10&name=user1

    两个页面之间通讯:
    1.表单传值
    第一种:get方式
    另外一种:post方式
    2.a标签传值
    仅仅能用get方式

    a标签推荐使用get方式提交数据
    表单推荐使用post方式提交数据


     magic_quotes_gpc = on;表示开启了get请求的时候,会讲get数据中的'前面加


    get实例:
    index.php

    <html>
    				<head> 
    				<title>
    				接收信息
    				</title>
    				</head>
    				<body>
    				<a href="rev.php?

    name=junjun2&age=26" target="'_blank">junjun2</a><br> <a href="rev.php?name=junjun3&age=23" target="'_blank">junzai3</a><br> <a href="rev.php?

    name=junjun4&age=25" target="'_blank">junjun4</a><br> <a href="rev.php?name=junjun5&age=27" target="'_blank">junjun5</a><br> </body> </html>




    rev.php
    <html>
    					<head> 
    					<title>
    					接收信息
    					</title>
    					</head>
    					<body>
    					<h1>欢迎:
    					<?php echo $_GET['name'];?

    > </h1> <hr> <h1>姓名:<?php echo $_GET['name']?></h1> <h1>年龄:<?php echo $_GET['age']?

    ></h1> </body> </html>




    post实例
    $_POST:获取表单post过来的数据

    index.php
    <html>
    				<head> 
    				<title>
    				接收信息
    				</title>
    				</head>
    				<body>
    				<h1>提交用户信息</h1>
    				 <form action = "rev.php" method="POST">
    					姓名:<input type="text" name="name" id=""><br>
    					年龄:<input type="text" name="age" id=""><br>
    					<input type="submit" value="提交" target="_blank"	>
    				</form>
    				</body>
    				
    			</html>



    rev.php
    <html>
    					<head> 
    					<header content-type="text/html";charset="gbk">
    					<title>
    					接收信息
    					</title>
    					</head>
    					<body>
    					<h1>欢迎:
    					<?php echo $_POST['name'];?

    > </h1> <hr> <h1>姓名:<?

    php echo $_POST['name']?></h1> <h1>年龄:<?

    php echo $_POST['age']?

    ></h1> </body> </html>




    $_REQUEST
    获取a或者表单get或post过来的数据.

    $_COOKIES
    同一个页面在多个页面获取

    $_SESSION
    同一个变量在多个页面获取到
    $_FILES
    获取表单中的文件,并生成一个数组.

    $GLOBALS
    $GLOBALS[_SERVER]
    $GLOBALS[_GET]
    $GLOBALS[_POST]
    $GLOBALS[_FILES]
    $GLOBALS[_REQUEST]
    $GLOBALS[_COOKIES]
    $GLOBALS[username]//里面包括页面内的全局变量,而且通过$GLOBALS[username]="user2"改变$username的值.

    实例:使用$GLOBALS改变全局变量的值.


    <?php
    					$username111="user1";
    					
    					function show(){
    					$GLOBALS[username111]="USER2";
    					}
    					
    					show();
    					
    					echo $username111;
    					
    					echo "<pre>";
    					print_r($GLOBALS);
    					echo "</pre>";
    					
    					?>


    转载请注明出处: http://blog.csdn.net/junzaivip



    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    MVC4新功能...压缩和合并js文件和样式文件
    如何将sqlserver表中的数据导出sql语句或生成insert into语句 [转]
    利用svn自动同步更新到网站服务器 -- 网摘
    找不到方法: Int32 System.Environment.get_CurrentManagedThreadId() .
    C# .NET ASP.NET 其中关系你了解多少
    SQL语句分享[不定期更新]
    云平台概念学习
    【转】用户画像和用户档案的区别
    【转】外行杂谈论—聊聊看板 vs 大屏的区别
    【转】从信息、能量、物质的角度揭示生命真相
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4643773.html
Copyright © 2011-2022 走看看