学习要点:

*使用主阵列功能的理解

*知道如何遍历

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

数组

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. [LeetCode283]Move Zeros将一个数组中为0的元素移至数组末尾

    题目: Given an array nums, write a function to move all 0's to the end of it while maintaining the rel ...

  2. YT新人之巅峰大决战04

    Problem Description Eddy's interest is very extensive, recently he is interested in prime number. Ed ...

  3. yum 安装时错误 Errno 14 Couldn't resolve host 解决办法(转)

    在安装mlocate的时候发现一直报错,错误内容大致如下 Downloading Packages:http://mirrors.163.com/centos/6.5/os/i386/Packages ...

  4. Singleton模式(Singleton创建类型)c#简单的例子

    单(Singleton创建模式)c#简单的例子 当需要生成一个实例,可单发模式 样品可以在短短的球员中产生,玩家和测试.单线程例子,如以下: namespace singletonpattern { ...

  5. 使用axis公布weblogic(一个)

    1.在MyEclipse创建一个新的Web Project.新类,声明函数名称.参数,为了不写功能实体. 2.将java2wsdl.bat将文件复制到classes目录,据内部参数更改自己的实际情况 ...

  6. Bug记录:微博的Java SDK返回经纬度错误

    现象:美国的坐标点可能会定位到西藏地区-后发现原来负经度经解析后,均变成正的! 源码: private void getGeoInfo(String geo) { StringBuffer value ...

  7. 对SA权限的再突破 (对付xplog70.dll被删)转载

    原文:对SA权限的再突破 (对付xplog70.dll被删)转载 对SA权限的再突破 (对付xplog70.dll被删)转载 转载自:http://www.bitscn.com/plus/view.p ...

  8. 大约session_cached_cursors在不同的db在默认不同的版本号

    大约session_cached_cursors的值,不同db版本号具有不同的默认值: 9i是 0 10.1 0 10.2 是20 11.1 是50 11.2 是50 12.1 是50 值值得注意的是 ...

  9. docker 现实---联网多台物理主机,容器桥到物理网络(三)

    docker 默认桥接卡docker0 只有当这个单元中的所有容器桥接卡.例如,在主机虚拟网络适配器容器看通常称为veth***  和docker只要把这些卡桥接在一起,例如下面的附图: waterm ...

  10. Cocos2d-x 游戏植入广告(百度插屏)

    DEMO下载:http://download.csdn.net/detail/oyangyufu/7652803 1.声明Activity <!-- 声明百度的Activity --> & ...