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( ...
随机推荐
- reveal 1.6.3 本机破解及使用
reveal 强大的iOS UI调试工具 1: 去官网下载最新版本:1.6.3 http://revealapp.com/download/ 2: 安装到mac上,即,解压下载的包,把app拖到mac ...
- ajax 动态获取json的例子
1.前台脚本: //用于切换图片列表的ajax function changePhoto(title,hotelId){ $.ajax({ contentType: "application ...
- 20145218 《Java程序设计》第二周学习总结
Java中的注释格式 单行注释 //注释文字 多行注释 /注释文字/ 文档注释 /**注释文字*/ 注释不仅仅是对代码进行解释,在上一篇博客中也写过,注释也可以用来检查程序中的错误,可以说是一个小窍门 ...
- 009-Selenium2环境搭建
1.Java开发环境的搭建 本课程中将使用Java语言编写Selenium自动化测试脚本,在Eclipse集成开发环境中运行. (1)jdk的安装 a.下载 官网下载,http://www. ...
- stackview
Stack View会被当成Container View.所以它是一个不会被渲染的UIView子类.它不像其他UIView子类一样,会被渲染到屏幕上.这也意味着设置其backgroundColor属性 ...
- easyUI dialog 弹窗 居中显示
默认情况下应该是在屏幕居中显示的.但是有的时候没有居中只要重新纠正下就可以了 $('#add_dialog').dialog('open'); //打开添加对话框 $('#add_dialog').w ...
- C语言实现统计字符个数
#include<stdio.h> int main() { int sz[10]={0},zm[26]={0},z[26]={0},i,space=0,e=0,t=0; ...
- 关于for循环条件性能问题
昨天看一博客写到一条 尽量使用 for(int i=0,ct=list.Count();i<ct;i++){} 这样的格式,因为我平时一般都是用for(int i=0;i<list.Cou ...
- VSS Plugin配置FAQ(翻译)[转]
前言(译者) 就个人的成长历程来说,刚参加工作用的是 CVS ,前前后后有接近三年的使用体验,从今年开始使用 SVN .总的来说我更喜欢 SVN ,用起来的确很方便,例如在本地源代码文件中加一个空格然 ...
- CSS 去除列表项li前面的小圆点
前言 在默认的情况下,浏览器会在<li>标签前面加上小圆点形成列表项,如下所示使用<ul> 项1 项2 项3 或者使用<ol> 项1 项2 项3 这在有时候确实给我 ...