学习要点:

*使用主阵列功能的理解

*知道如何遍历

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

数组

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

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

PHP第六课 使用方法数组的更多相关文章

  1. PHP第七课 使用方法数组2

    学习平台: 1.了解数组函数 2.输出随机验证码 1.数组函数: 数组函数: //作用:提供了非常多官方写的非常实用的代码段,提高编写速度. 1.数组的键值操作函数 2.统计数组的元素和唯一性 3.使 ...

  2. NeHe OpenGL教程 第三十六课:从渲染到纹理

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  3. 【C语言探索之旅】 第二部分第六课:创建你自己的变量类型

    内容简介 1.课程大纲 2.第二部分第六课: 创建你自己的变量类型 3.第二部分第七课预告:   文件读写 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C ...

  4. 【C语言探索之旅】 第一部分第六课:条件表达式

    内容简介 1.课程大纲 2.第一部分第六课:条件表达式 3.第一部分第七课预告:循环语句 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. ...

  5. NeHe OpenGL教程 第四十六课:全屏反走样

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. NeHe OpenGL教程 第十六课:雾

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  7. NeHe OpenGL教程 第六课:纹理映射

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  8. Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)” 清晰讲解logistic-good!!!!!!

    原文:http://52opencourse.com/125/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%9D ...

  9. [译]Quartz.NET 框架 教程(中文版)2.2.x 之第六课 CronTrigger

    第六课 CronTrigger CronTrigger比SimpleTrigger更常用,当你需要一个基于日历般概念的作业调度器,而不是像SimpleTrigger那样精确指定间隔时间. 使用Simp ...

随机推荐

  1. 如何更好地理解和使用Github

    只知道几乎在顶部看到一对Github用通俗易懂的解释: 你或许不懂怎样造一辆凯迪拉克,但你能够驾驶凯迪拉克. 你或许不懂Evernote是用什么技术做出来的,但你也能够使用Evernote. 你或许不 ...

  2. 开源 自由 java CMS - FreeCMS2.0 举APP产生信息数据

    项目地址:http://www.freeteam.cn/ 生成信息数据 生成当前管理网站下同意移动APP訪问的栏目的信息页面. 从左側管理菜单点击生成信息数据进入. 您能够选择须要生成的栏目,然后点击 ...

  3. Hadoop Mapreduce刮

    前言 的一个渣渣程序猿一枚,因为个人工作,须要常常和hadoop打交道,可是自己之前没有接触过hadoop.所以算是边学边用,这个博客算是记录一下学习历程,梳理一下自己的思路,请各位看官轻拍.本博客大 ...

  4. div+js 弹出层

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...

  5. .Net程序猿乐Android发展---(10)框架布局FrameLayout

    帧布局FrameLayout中全部的控件都在界面的左上側,后绘制的空间会覆盖之前的控件.布局内控件以层叠方式显示,用在游戏开发方面可能多些. 1.层叠展示                 以下这个样例 ...

  6. windows rt 扫描二维码

    项目中使用的是ZXing.net,应用商店程序.使用到的dll是ZXing.winmd. 大致思路为,使用MediaCapture捕获图片.获取到CapturePhotoToStreamAsync流, ...

  7. SQL入门学习1-查询基础

    2-1 SELECT语句基础 SELECT语句作用 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). 重点 使用SELECT语句从表中选取数据. 为列设定显示用的别名 ...

  8. 【代码实现】PHP生成各种随机验证码

    原文地址:http://www.phpthinking.com/archives/531 验证码在WEB应用中很重要,通经常使用来防止用户恶意提交表单,如恶意注冊和登录.论坛恶意灌水等.本文将通过实例 ...

  9. BZOJ 1009 HNOI2008 GT考试 KMP算法+矩阵乘法

    标题效果:给定的长度m数字字符串s.求不包括子s长度n数字串的数目 n<=10^9 看这个O(n)它与 我们不认为这 令f[i][j]长度i号码的最后的字符串j位和s前者j数字匹配方案 例如,当 ...

  10. rm-rf 恢复过程中滥用

    多DBA一定rm -rf讨厌它,也许有一天自己将数据库,以消除一个中午,然后.那么就没有一个--这种情况下,--这个不幸真的发生,你真的无药可救?不必要,有解决方法.也许你遇到不幸时,有一天.你可以用 ...