PHP数组实例详解

5年以前  |  阅读数:843 次  |  编程语言: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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例