<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. linux 的命令 -exec 的使用

    linux中的 exec命令,-exec 后面跟的是linux的 command 命令,exec命令以分号结束‘:’, 该分号前面要放 反斜杠转义 . find . -name jquery.js - ...

  2. Python编程-基础知识-python项目包和文件的管理以及如何引用相对路径的包和模块

    目录 结构: core |____ __init__.py |____ basic |____ __init__.py |____ database           |____ __init__. ...

  3. MSCRM 2011 JavaScript 开发文档

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvem91eXVqaWUxMTI3/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  4. 算法笔记_147:有向图欧拉回路判断应用(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 Description In order to make their sons brave, Jiajia and Wind take them t ...

  5. OSI模型图文说明

    网关工作在第四层传输层及其以上 网络层:路由器 数据链路层:网桥,交换机 物理层:网卡,网线,集线器,中继器,调制解调器 OSI共7层:应用层,表示层,会话层,传输层,数据链路层,物理层. [7]:应 ...

  6. 〖Qt编程〗Qt编程中的各种数据类型的相互转换

    char * 与 const char *的转换 char *ch1=”hello11″; const char *ch2=”hello22″; ch2 = ch1;//不报错,但有警告 ch1 = ...

  7. Oracle 正则 整词匹配 \b 不行

    在oracle中用整词匹配\b来包裹想要匹配的词并不可行, 正确的做法应该是这样: FROM DUAL WHERE REGEXP_LIKE('1 2 3 14','(^|\s|\W)3($|\s|\W ...

  8. QueryRunner 结果处理器

    package cn.itcast.dbutil; import java.sql.SQLException; import java.util.List; import java.util.Map; ...

  9. Linux下挂载硬盘分区的几种方法

    1.使用Autofs自动挂载分区 2.修改/etc/fstab 3.编写shell脚本,开机自动运行mount命令  方法一.使用Autofs  1.Autofs的特点:Autofs与Mount/Um ...

  10. proc文件系统分析

    来源: ChinaUnix博客 日期: 2008.01.03 11:46 (共有条评论) 我要评论   二 proc文件系统分析  根据前面的分析,我们可以基本确定对proc文件系统的分析步骤.我将按 ...