<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);//
echo "<br />";
print_r(each($array4));//each()改变指针位置
echo "<br />";
echo current($array4);//指针变为2
echo "<br />";
//key() 返回当前指针位置的索引
echo key($array4);//
echo "<br />";
//prev() 将指针倒回一位
echo current($array4);//
echo "<br />";
echo prev($array4);//
echo "<br />";//2
//next(); 将指针向前移动一位
echo next($array4);
echo "<br />";
//end()将指针放到结尾
echo end($array4);//
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:提交传值字符串

PHP——数组和数据结构的更多相关文章

  1. php数组·的方法-数组与数据结构

    /*数组与数据结构*/ //shuffle() 随机打乱数组 //array_push() 数组末尾添加元素 //array_pop() 数组末尾删除元素 //array_shift() 数组首位删除 ...

  2. PHP08 数组和数据结构

    学习要点 数组的分类 数组的定义 数组的遍历 预定义数组 数组的相关处理函数 PHP操作数组需要注意的细节 数组的分类 关于PHP数组 由于PHP是弱类型的编程语言,所以PHP数组中的数组变量可以存储 ...

  3. 5_PHP数组_3_数组处理函数及其应用_8_数组与数据结构

    以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. 数组与数据结构 1. array_push() 函数 程序: <?php $stack = array(&q ...

  4. 一篇文章让你了解动态数组的数据结构的实现过程(Java 实现)

    目录 数组基础简单回顾 二次封装数组类设计 基本设计 向数组中添加元素 在数组中查询元素和修改元素 数组中的包含.搜索和删除元素 使用泛型使该类更加通用(能够存放 "任意" 数据类 ...

  5. php的数组与数据结构

    一.数组的分类与定义 分类: 1.索引数组  $array = array(1,2,3,4,5); 2.关联数组  $array=array(1=>"aa","bb ...

  6. PHP数组和数据结构(下)未完。。。。

    1.数组的遍历 (1)each(): 接受一个数组作为参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置 键/值对被返回为带有四个元素的关联和索引混合的数组,键名分别为0,1,k ...

  7. PHP数组和数据结构(上)

    1.数组的声明 两种方法: 直接给数组元素赋值 使用array()函数声明 说明: (1)索引数组的下标可以是非连续的值,只要在初始化时指定非连续的下标值即可 如果指定的下标值已经声明过,则属于对变量 ...

  8. 算法求解中的变量、数组与数据结构(STL 中的容器)

    本质上算法都是对数据的操作,没有数据,没有存储数据的容器和组织方式,算法就是无源之水无本之木,就是巧妇也难为无米之炊.算法是演员,变量.数组.容器等就是舞台, 然后整个算法的处理流程,都是针对这些数据 ...

  9. 递归遍历多维数组(树数据结构)的超级简单方式,并且可以递归超过200层,摘自<<PHP精粹:编写高效PHP代码>>

    <?php $array = array( "Hello", // Level 1 array( "World" // Level 2 ), array( ...

随机推荐

  1. C# 将Dictionary,StringDictionary等集合数据绑定到如comboBox等控件数据源中将获取健值

    一般在使用C#提供的如combobx控件绑定数据源时都是直接绑定数据库里的数据的(DataTable,DataSet等) 最近在一个项目里需要使用combobox绑定类似“状态的”数据源,该字段里的数 ...

  2. Report Studio值提示通过prompt宏函数给sql查询传参

    场景:当我们在DW中新建了一个表,但是在FM中没有创建模型,想针对这个表直接做一个报表,那么就需要在reportstudio中直接用sql来查询,为了追求查询速度,我们可以把页面用户选择的条件直接传给 ...

  3. 怎样更爽地看PDF杂志

    下载了一些PDF的杂志,想着要是全屏双页显示,应该是很爽的,但是,下载了应该foxit reader,还是遇到一些问题: 1.全屏:F11即可 2.全屏后不双页:在选项中,"全屏" ...

  4. 极客Web前端开发资源大荟萃#001

    每周极客都将总结本周最精彩的素材提供给大家,希望可以带给你更多地灵感和帮助!极客#GB课程库#现已上线,无论你是初级.中级.还是正在进修的高级前端工程师.这里都将帮助你得到更多更高效的学习.原文:极客 ...

  5. Hadoop-2.2.0中文文档—— 从Hadoop 1.x 迁移至 Hadoop 2.x

    简单介绍 本文档对从 Apache Hadoop 1.x 迁移他们的Apache Hadoop MapReduce 应用到 Apache Hadoop 2.x 的用户提供了一些信息. 在 Apache ...

  6. win10 你没有足够的权限执行此操作。

      win10 你没有足够的权限执行此操作. CreateTime--2018年4月21日08:21:31 Author:Marydon 鼠标悬浮到windows图标上,右键-->选择:以命令提 ...

  7. windows设置文件夹显示缩略图

      windows设置文件夹显示缩略图 CreateTime--2017年7月26日16:32:59Author:Marydon 为什么要显示缩略图? a.显示缩略图后,图片文件能够直接显示内容,不能 ...

  8. 利用端口映射解决:拥有公网IP有限,内网需要访问因特网

    动态端口映射:   内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP.端口和本机IP.端口,NAT网关会把本机IP.端口替换成自己的公网IP.一个未使用的端口, ...

  9. Makefile之大型工程项目子目录Makefile的一种通用写法

    管理Linux环境下的C/C++大型项目,如果有一个智能的Build System会起到事半功倍的效果,本文描述Linux环境下大型工程项目子目录Makefile的一种通用写法,使用该方法,当该子目录 ...

  10. [精]Oracle APEX 5.0 入门教程(一) Form表单

    Oracle APEX Tutorial for Beginners (APEX 5.0) 1- Introduction 2- Create Workspace 3- Work with Works ...