PHP 新手入門指南 - 了解數(shù)組

PHP 中的數(shù)組實(shí)際上是一個(gè)有序映射。映射是一種把 values 關(guān)聯(lián)到 keys 的類型。此類型在很多方面做了優(yōu)化,因此可以把它當(dāng)成真正的數(shù)組,或列表(向量),散列表(是映射的一種實(shí)現(xiàn)),字典,集合,棧,隊(duì)列以及更多可能性。由于數(shù)組元素的值也可以是另一個(gè)數(shù)組,樹形結(jié)構(gòu)和多維數(shù)組也是允許的。

介紹

在 PHP 中,有三種數(shù)組類型:

  • 索引數(shù)組 - 帶有數(shù)字索引的數(shù)組
  • 關(guān)聯(lián)數(shù)組 - 帶有指定鍵的數(shù)組
  • 多維數(shù)組 - 包含一個(gè)或多個(gè)數(shù)組的數(shù)組

可以用 array() 語(yǔ)言結(jié)構(gòu)來(lái)新建一個(gè)數(shù)組。它接受任意數(shù)量用逗號(hào)分隔的 鍵(key) => 值(value)對(duì)。

就像這樣:

array(  
    key =>  value, 
    ...
)

// 鍵(key)可是是一個(gè)整數(shù) integer 或字符串 string
// 值(value)可以是任意類型的值

最后一個(gè)數(shù)組單元之后的逗號(hào)可以省略。通常用于單行數(shù)組定義中,例如常用 array(1, 2) 而不是 array(1, 2, )。對(duì)多行數(shù)組定義通常保留最后一個(gè)逗號(hào),這樣要添加一個(gè)新單元時(shí)更方便。

自 5.4 起可以使用短數(shù)組定義語(yǔ)法,用 [] 替代 array()。

索引數(shù)組

有兩種創(chuàng)建索引數(shù)組的方法:
索引是自動(dòng)分配的(索引從 0 開始):

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

或者也可以手動(dòng)分配索引:

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

關(guān)聯(lián)數(shù)組

關(guān)聯(lián)數(shù)組是使用您分配給數(shù)組的指定鍵的數(shù)組。
有兩種創(chuàng)建關(guān)聯(lián)數(shù)組的方法:

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

或者:

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

多維數(shù)組

數(shù)組中嵌套著數(shù)組,就像這樣:

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

小實(shí)踐

打開之前的 index.php 的文件,編輯內(nèi)容為:

<?php

// 定義了一個(gè)由多個(gè)名稱組成的數(shù)組
$names = [
    "Jack",
    "Cindy",
    "White",
    "Tony",
    "Mary"
];

// 循環(huán)遍歷打印輸出這個(gè)數(shù)組中的名稱
foreach ($names as $name) {
    echo $name  . "<br>";
}

// 更漂亮大打印出數(shù)組的內(nèi)容
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>

打開終端,進(jìn)入文件所在目錄執(zhí)行:php -S localhost:8000
打開瀏覽器訪問(wèn):http://localhost:8000

網(wǎng)頁(yè)輸出效果如下:

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

更多

官方手冊(cè)
PHP 手冊(cè): 數(shù)組

當(dāng)然你也會(huì)了解到更多數(shù)組這種數(shù)據(jù)結(jié)構(gòu)相關(guān)的 PHP 函數(shù)。
數(shù)組函數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,993評(píng)論 19 139
  • 數(shù)組的概述 PHP 中的數(shù)組實(shí)際上是一個(gè)有序圖。圖是一種把 values 映射到 keys 的類型。此類型在很多方...
    dptms閱讀 1,634評(píng)論 0 4
  • PHP之?dāng)?shù)組 數(shù)組 PHP中的數(shù)組是一個(gè)有序映射(一種把values關(guān)聯(lián)到keys的類型),或者稱之為有序字典,O...
    癡人會(huì)說(shuō)夢(mèng)閱讀 890評(píng)論 0 0
  • 什么是數(shù)組?數(shù)組就是被命名的用來(lái)存儲(chǔ)一系列數(shù)值的地方。數(shù)組array是非常重要的數(shù)據(jù)類型。相對(duì)于其他的數(shù)據(jù)類型,它...
    石小一閱讀 740評(píng)論 0 0
  • 一、數(shù)組 1、數(shù)組定義 數(shù)組就是一個(gè)鍵值對(duì)組成的語(yǔ)言結(jié)構(gòu),鍵類似于酒店的房間號(hào),值類似于酒店房間里存儲(chǔ)的東西。 $...
    空谷悠閱讀 815評(píng)論 4 11