一.数组的分类与定义

分类:

1.索引数组  $array = array(1,2,3,4,5);

2.关联数组  $array=array(1=>"aa","bb"=>2);

定义:

1.直接为数组元素赋值即可声明数组

<?php
$countact1[0]=1;
$countact1[1]="高某";
$countact1[2]="A公司";
$countact1[3]="北京市";
$countact1[4]="(010)987654321";
$countact1[5]="gao@brophp.com";

  

2.使用array()函数声明数组

$contact = array(1,"高某","A公司","北京市","(010)9876554321","gao@brophp.com");

二.取值

1. 索引数组取值:

$array[0] ;    //用索引号来取值

2.关联数组取值:

$array["bb"];   //用key取值

三.遍历数组

1.for循环

//for循环遍历,针对于索引数组,不能遍历关联数组
for($i=0;$i<count($attr);$i++)
{
echo $attr[$i]."<br>";
}

2.foreach

foreach($array as $value)

foreach($array1 as $key => $value)

//foreach遍历,可以遍历索引数组和关联数组
foreach($attr as $value)
{
echo $value."<br>";
} foreach($attr as $key=>$value)
{
echo $key."=>".$value."<br>";
}

3.each()函数

返回数组中当前的键/值对并将数组指针向前移动一步

reset()  将指针重置第一

//each()函数,取数组里面的某一个元素,依次向下取值,将该元素以数组的形式返回
print_r(each($attr));
echo "<br>";
print_r(each($attr));
echo "<br>";
print_r(each($attr));
echo "<br>--------------------------";
//将指针复位,指向第一个元素
reset($attr);
print_r(each($attr));
echo "<br>";
print_r(each($attr));
echo "<br>";
print_r(each($attr));

4.list()函数

从数组中取值赋给一组变量

//list()函数
list($a,$b,$c,$e,$f) = $attr;
echo $a;
echo $b;
echo $c;
echo $e;
echo $f;

5.each()和list()结合

while(list($key,$value) = each($arr))

//用each()和list()函数遍历数组,索引数组和关联数组都可以
list($key,$value) = each($attr);
echo $key."=>".$value;
list($key,$value) = each($attr);
echo $key."=>".$value; while(list($key,$value) = each($attr))
{
echo $key."=>".$value."<br>";
}

6.使用指针

取得目前指针位置的内容资料 current()

取得目前指针位置的索引值 key()

将数组的内部指针倒回一位 prev()

将数组的内部指针向前移动一位 next()

将数组的内部指针指向最后一个单元 end()

将数组的内部指针指向第一个单元 reset()

$attr = array("one"=>10,"2"=>"aa","three"=>20);

    echo current($attr); //取当前指针指向的内容value
echo key($attr); //取当前指针指向的索引key
echo "<br>";
next($attr); //将指针向下移动
echo current($attr); //取当前指针指向的内容value
echo key($attr); //取当前指针指向的索引key
echo "<br>";
prev($attr); //将指针向上移动
echo current($attr); //取当前指针指向的内容value
echo key($attr); //取当前指针指向的索引key
echo "<br>";
end($attr); //将指针指向最后一个元素
echo current($attr); //取当前指针指向的内容value
echo key($attr); //取当前指针指向的索引key
echo "<br>";
reset($attr); //将指针复位
echo current($attr); //取当前指针指向的内容value
echo key($attr); //取当前指针指向的索引key
echo "<br>";

7.预定义数组

声明为全局变量 global

引用全局作用域中可用的全局变量 $GLOBALS

服务器和执行环境信息 $_SERVER

环境变量 $_ENV

HTTP GET 变量 $_GET
HTTP POST 变量 $_POST

HTTP Request 变量 $_REQUEST

HTTP 文件上传变量 $_FILES

Session 变量 $_SESSION

HTTP Cookies $_COOKIE

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——数组和数据结构

    <body> <?php $arr[0]=5;//赋值定义 $arr[1]="aa"; print_r($arr); echo "<br /> ...

  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. AlphaGo实现原理

    AlphaGo已经打败了李世石9段,如果你也懂它背后的原理,或许某一天你也可以开发出一款AI来打败dota或者LOL的世界冠军. Mastering the game of Go with deep ...

  2. 基因组 de novo 组装原理

    Falcon软件的组装流程 为了错误校正,将原始子reads进行overlap 预组装和错误校正 错误校正后reads的overlap检测 overlap的过滤 从overlap构建图 从图构建con ...

  3. python 暴力破解密码脚本

    python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...

  4. MySQL for Windows 解压缩版配置安装

    1.MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装在C: ...

  5. arithmetic

    字典序算法 http://www.cnblogs.com/darklights/p/5285598.html 字典排序(lexicographical order)是一种对于随机变量形成序列的排序方法 ...

  6. 初学java之大数处理

    import java.text.*; public class Gxjun { public static void main(String args[] ) { int n=123456789; ...

  7. Sudoku Solver [LeetCode]

    Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by th ...

  8. 使用WITH AS提高性能简化嵌套SQL(转载)

    使用WITH AS提高性能简化嵌套SQL http://www.cnblogs.com/fygh/archive/2011/08/31/2160266.html

  9. SAP销售订单状态修改(审核) 计划行自动产生需求,产生MD04需求

    不知道业务怎么配置的,创建销售单时,一堆计划行类别,什么CN,DN...都有,但是审核后需要计划行变更为CP,这样在MD04才能看到需求. 原有逻辑是弄个后台程序,审核后调一下,更新一下计划行,这样是 ...

  10. Ansible :一个配置管理和IT自动化工具

    编译文章:LCTT  https://linux.cn/article-4215-1.html 译者: felixonmars 文章地址:https://linux.cn/article-4215-1 ...