php的数组与数据结构
一.数组的分类与定义
分类:
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的数组与数据结构的更多相关文章
- php数组·的方法-数组与数据结构
/*数组与数据结构*/ //shuffle() 随机打乱数组 //array_push() 数组末尾添加元素 //array_pop() 数组末尾删除元素 //array_shift() 数组首位删除 ...
- PHP08 数组和数据结构
学习要点 数组的分类 数组的定义 数组的遍历 预定义数组 数组的相关处理函数 PHP操作数组需要注意的细节 数组的分类 关于PHP数组 由于PHP是弱类型的编程语言,所以PHP数组中的数组变量可以存储 ...
- 5_PHP数组_3_数组处理函数及其应用_8_数组与数据结构
以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. 数组与数据结构 1. array_push() 函数 程序: <?php $stack = array(&q ...
- 一篇文章让你了解动态数组的数据结构的实现过程(Java 实现)
目录 数组基础简单回顾 二次封装数组类设计 基本设计 向数组中添加元素 在数组中查询元素和修改元素 数组中的包含.搜索和删除元素 使用泛型使该类更加通用(能够存放 "任意" 数据类 ...
- PHP——数组和数据结构
<body> <?php $arr[0]=5;//赋值定义 $arr[1]="aa"; print_r($arr); echo "<br /> ...
- PHP数组和数据结构(下)未完。。。。
1.数组的遍历 (1)each(): 接受一个数组作为参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置 键/值对被返回为带有四个元素的关联和索引混合的数组,键名分别为0,1,k ...
- PHP数组和数据结构(上)
1.数组的声明 两种方法: 直接给数组元素赋值 使用array()函数声明 说明: (1)索引数组的下标可以是非连续的值,只要在初始化时指定非连续的下标值即可 如果指定的下标值已经声明过,则属于对变量 ...
- 算法求解中的变量、数组与数据结构(STL 中的容器)
本质上算法都是对数据的操作,没有数据,没有存储数据的容器和组织方式,算法就是无源之水无本之木,就是巧妇也难为无米之炊.算法是演员,变量.数组.容器等就是舞台, 然后整个算法的处理流程,都是针对这些数据 ...
- 递归遍历多维数组(树数据结构)的超级简单方式,并且可以递归超过200层,摘自<<PHP精粹:编写高效PHP代码>>
<?php $array = array( "Hello", // Level 1 array( "World" // Level 2 ), array( ...
随机推荐
- AlphaGo实现原理
AlphaGo已经打败了李世石9段,如果你也懂它背后的原理,或许某一天你也可以开发出一款AI来打败dota或者LOL的世界冠军. Mastering the game of Go with deep ...
- 基因组 de novo 组装原理
Falcon软件的组装流程 为了错误校正,将原始子reads进行overlap 预组装和错误校正 错误校正后reads的overlap检测 overlap的过滤 从overlap构建图 从图构建con ...
- python 暴力破解密码脚本
python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...
- MySQL for Windows 解压缩版配置安装
1.MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装在C: ...
- arithmetic
字典序算法 http://www.cnblogs.com/darklights/p/5285598.html 字典排序(lexicographical order)是一种对于随机变量形成序列的排序方法 ...
- 初学java之大数处理
import java.text.*; public class Gxjun { public static void main(String args[] ) { int n=123456789; ...
- Sudoku Solver [LeetCode]
Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by th ...
- 使用WITH AS提高性能简化嵌套SQL(转载)
使用WITH AS提高性能简化嵌套SQL http://www.cnblogs.com/fygh/archive/2011/08/31/2160266.html
- SAP销售订单状态修改(审核) 计划行自动产生需求,产生MD04需求
不知道业务怎么配置的,创建销售单时,一堆计划行类别,什么CN,DN...都有,但是审核后需要计划行变更为CP,这样在MD04才能看到需求. 原有逻辑是弄个后台程序,审核后调一下,更新一下计划行,这样是 ...
- Ansible :一个配置管理和IT自动化工具
编译文章:LCTT https://linux.cn/article-4215-1.html 译者: felixonmars 文章地址:https://linux.cn/article-4215-1 ...