PHP数组实例详解
来源: 阅读:659 次 日期:2016-08-16 15:16:17
温馨提示: 小编为您整理了“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数组的实例详解,希望对大家有所帮助。

更多信息请查看网络编程
手机网站地址:PHP数组实例详解
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map