PHP数组实例详解

 更新时间:2016年06月26日 14:39:49   作者:roucheng  
这篇文章主要介绍了PHP数组实例详解的相关资料,数组分为数组数值数值,关联数组,多维数组,本文介绍的非常不错具有参考借鉴价值,需要的朋友可以参考下

作为一名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"; 
/* 何问起 hovertree.com */
?> 

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."; 
/* 何问起 hovertree.com */
?> 

以上脚本输出:

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; 
} 
} 
} /* 何问起 hovertree.com */
?> 

以上所述是小编给大家介绍的php数组的实例详解,希望对大家有所帮助。

相关文章

  • laravel 多图上传及图片的存储例子

    laravel 多图上传及图片的存储例子

    今天小编就为大家分享一篇laravel 多图上传及图片的存储例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 基于php缓存的详解

    基于php缓存的详解

    本篇文章是对php中的缓存进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例

    tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例

    这篇文章主要介绍了tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能,结合实例形式分析了基于thinkPHP登陆判断、标志位运算等操作实现密码账号锁定功能,需要的朋友可以参考下
    2018-05-05
  • thinkphp3.2框架集成QRcode生成二维码的方法分析

    thinkphp3.2框架集成QRcode生成二维码的方法分析

    这篇文章主要介绍了thinkphp3.2框架集成QRcode生成二维码的方法,结合实例形式分析了QRcode的下载、扩展以及thinkphp3.2使用QRcode生成二维码的相关操作技巧,需要的朋友可以参考下
    2020-03-03
  • Laravel框架模板继承操作示例

    Laravel框架模板继承操作示例

    这篇文章主要介绍了Laravel框架模板继承操作,结合实例形式分析了Laravel框架模板继承的实现方法及相关操作注意事项,需要的朋友可以参考下
    2018-06-06
  • PHP实现QQ快速登录的方法

    PHP实现QQ快速登录的方法

    这篇文章主要为大家详细介绍了PHP实现QQ快速登录的3种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • 实现PHP搜索加分页

    实现PHP搜索加分页

    本文实现PHP搜索加分页,解决了大量数量浏览的分页问题,力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解。
    2016-10-10
  • laravel-admin 实现给grid的列添加行数序号的方法

    laravel-admin 实现给grid的列添加行数序号的方法

    今天小编就为大家分享一篇laravel-admin 实现给grid的列添加行数序号的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP 网站修改默认访问文件的nginx配置

    PHP 网站修改默认访问文件的nginx配置

    这篇文章主要介绍了PHP 网站修改默认访问文件的nginx配置,需要的朋友可以参考下
    2017-05-05
  • PHP中用Trait封装单例模式的实现

    PHP中用Trait封装单例模式的实现

    这篇文章主要介绍了PHP中用Trait封装单例模式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论