PHP数组详解
来源:互联网 发布:apache 微服务 框架 编辑:程序博客网 时间:2024/06/06 02:17
作为一名C++程序员,在转做PHP开发的过程中,对PHP数组产生了一些混淆,与C++数组有相似的地方,也有一些不同,下面就全面地分析一下PHP的数组及其与C++中相应数据类型的区别和联系。
数组的分类:
1、数值数组:也叫索引数组,即以数字(从0 开始)作为数组下标。相当于C++中的vector。
2、关联数组:以字符串作为数组下标。相当于C++中的map。
3、多维数组:数组中每个元素也是一个数组。其子数组中的每个元素也可以是数组。
数组的声明:
1、数值数组
a、如下例子中,会自动分配数字ID键。$names = array("Peter","Joe","Lily");b、如下例子中,我们人工分配数字ID键。$names[0] = "Peter";$names[1] = "Joe";$names[2] = "Lily";可以在脚本中使用这些ID键:<?php$names[0] = "Peter";$names[1] = "Joe";$names[2] = "Lily";echo $names[0]." and ".$names[1]." are ".$names[2]."'s neighbors";?>2、关联数组:
例子1$ages = array("Peter"=>32, "Joe"=>30, "Lily"=>28);例子2本例与例子1相同,只是另一种创建数组的方法。$ages["Peter"] = "32";$ages["Joe"] = "30";$ages["Lily"] = "28";在脚本中使用关联数组:<?php$ages["Peter"] = "32";$ages["Joe"] = "30";$ages["Lily"] = "28";echo "Peter is ".$ages["Peter"]." years old.";?>以上脚本输出:Peter is 32 years old.
3、多维数组:
在本例中,我们创建了一个带有自动分配数字ID键的多维数组:$families = array{"Griffin"=>array{"Peter","Lois","Megan"},"Quagmire"=>array{"Glenn"},"Brown"=>array{"Cleveland","Loretta","Junior"}};echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?";以上代码输出:Is Megan a part of the Griffin family?
数组遍历
1、for循环遍历for循环只能遍历索引数组。<?php$names = array("Peter","Joe","Lily");for($id=0;$id<count($names);++$id){echo $names[$id];}?>2、foreach遍历即可以遍历索引数组,也可以遍历关联数组遍历索引数组foreach(array_expression as $value){循环体;}遍历关联数组foreach(array_expression as $key=>$value){循环体;}A、一维数组遍历索引数组<?php$contact = array("李某","xx公司","abc@xx.com");foreach($contact as $value){echo $value;}?><?php$contact = array("姓名"=>"李某","公司"=>"xx公司","邮箱"=>"abc@xx.com");foreach($contact as $key=>$value){echo $key.":".$value;}?>B、多维数组遍历<?php$wage = array("市场部"=array(array(1,"李某","市场经理",8000),array(2,"王某","市场专员",5000),array(3,"刘某","市场专员",7000)),"产品部"=array(array(1,"李某","产品经理",9000),array(2,"王某","产品专员",6000),array(3,"刘某","产品专员",5000)),"账务部"=array(array(1,"李某","账务经理",7000),array(2,"王某","账务专员",6000),array(3,"刘某","账务专员",5000)));foreach($wage as $section=>$table){echo $section."部门人员如下";foreach($table as $row){foreach($row as $value){echo $value;}}}?>
1 0
- php数组运算详解
- 详解PHP数组排序
- php 数组使用详解
- php数组详解
- PHP 数组详解
- PHP数组详解
- PHP数组排序详解
- PHP数组详解
- PHP数组函数使用方法详解
- php二维数组排序详解
- PHP数组函数详解大全
- php数组常用方法详解
- PHP的数据类型和数组详解
- 简单快捷PHP数组赋值方法详解
- php中array_merge合并数组详解
- PHP内置数组函数详解(1)
- PHP内置数组函数详解(2)
- 简单快捷PHP数组赋值方法详解
- Android Eclipse 开发引用百度地图定位
- 一些关于VC++开发的笔记
- vb
- maven将fnlp本地jar打入war包
- Makefile 使用总结
- PHP数组详解
- AngularJS 日期格式化 实例大全
- /etc/environment 与/etc/profile的不同
- (转)极大似然估计和贝叶斯估计
- HM编码器代码阅读(13)——帧间预测之AMVP模式(一)总体流程
- weblogviewer的使用与实现
- 1*1
- grind Player参数翻译(中文式,完全百度翻译,仅供参考)
- sprintf()/simple_strtoul()