PHP 新手入门指南 - 了解数组

2017-06-18  本文已影响18人  chansey

PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性。由于数组元素的值也可以是另一个数组,树形结构和多维数组也是允许的。

介绍

在 PHP 中,有三种数组类型:

可以用 array() 语言结构来新建一个数组。它接受任意数量用逗号分隔的 键(key) => 值(value)对。

就像这样:

array(  
    key =>  value, 
    ...
)

// 键(key)可是是一个整数 integer 或字符串 string
// 值(value)可以是任意类型的值

最后一个数组单元之后的逗号可以省略。通常用于单行数组定义中,例如常用 array(1, 2) 而不是 array(1, 2, )。对多行数组定义通常保留最后一个逗号,这样要添加一个新单元时更方便。

自 5.4 起可以使用短数组定义语法,用 [] 替代 array()。

索引数组

有两种创建索引数组的方法:
索引是自动分配的(索引从 0 开始):

$cars = array("Volvo","BMW","SAAB");

或者也可以手动分配索引:

$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";

关联数组

关联数组是使用您分配给数组的指定键的数组。
有两种创建关联数组的方法:

$age = array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

或者:

$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

多维数组

数组中嵌套着数组,就像这样:

$fruits = array(
    "fruits" => array( 
        "a" => "orange",
        "b" => "banana",
        "c" => "apple"
    ),
    "numbers" => array ( 
        1,2,3,4,5,6
    ),
    "holes" => array (      
        "first",
        5 => "second",
        "third"
    )
);

小实践

打开之前的 index.php 的文件,编辑内容为:

<?php

// 定义了一个由多个名称组成的数组
$names = [
    "Jack",
    "Cindy",
    "White",
    "Tony",
    "Mary"
];

// 循环遍历打印输出这个数组中的名称
foreach ($names as $name) {
    echo $name  . "<br>";
}

// 更漂亮大打印出数组的内容
echo '<pre>';
var_dump($names);
echo '</pre>';

$person = [
    'age' => 31,
    'hair' => 'brown',
    'career' => 'Web Developer'
];

require "index.view.php";

编辑 index.view.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <ul>
        <?php foreach($person as $feature) : ?>
        <li><?= $feature; ?></li>
        <?php endforeach; ?>
    </ul>
</body>
</html>

打开终端,进入文件所在目录执行:php -S localhost:8000
打开浏览器访问:http://localhost:8000

网页输出效果如下:

Jack
Cindy
White
House
Mary

array(5) {
  [0]=>
  string(4) "Jack"
  [1]=>
  string(5) "Cindy"
  [2]=>
  string(5) "White"
  [3]=>
  string(4) "Tony"
  [4]=>
  string(4) "Mary"
}

31
brown
Web Developer

更多

官方手册
PHP 手册: 数组

当然你也会了解到更多数组这种数据结构相关的 PHP 函数。
数组函数

上一篇下一篇

猜你喜欢

热点阅读