当前位置: 移动技术网 > IT编程>开发语言>PHP > PHP数组实例详解

PHP数组实例详解

2017年12月12日  | 移动技术网IT编程  | 我要评论

作为一名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数组的实例详解,希望对大家有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网