【PHP】数组

这篇文章是PHP总复习日历的第三天的文章!

我本来是想谈论函数的,不过在这之前我先写了一个数组(´・ω・`)
虽然会涉及到参数什么的,但我会追加说明,请你理解一下。。。

数组的定义

当我们声明一个数组时,它就像一个“存放多个值的盒子”。即使数组的内容为空,它也会成为一个数组。

在声明数组的同时可以赋初值。

<?php

$days = []; // $daysは配列

$family = ['dad', 'mom', 'son', 'daughter']; // $familyは配列

※PHP的数组写法在5.4版本之后发生了变化。

数组的下标

在列表中,每个列举的内容都有一个索引表示元素的位置。
索引从0开始依次是0、1、2……。通过给索引赋值可以访问数组的元素。

<?php

// 添字は0, 1, 2, 3
$family = ['dad', 'mom', 'son', 'daughter'];

echo $family[0]; // 'dad'

echo $family[3]; // 'daughter'

关于”连想配列”的中文表达,以下是一个选项:

联想数组

可以通过给元素命名(键)来代替索引来访问。

<?php

$family_name = [
    'dad' => 'Bob',
    'mom' => 'Jessy',
    'son' => 'James',
    'daughter' => 'Emily'
];

echo $family_name['dad']; // 'Bob'

添加要素

在末尾添加元素

要在数组的末尾添加新元素,可以按照以下方式进行描述:

<?php

// 添字配列の場合
$family = ['dad', 'mom', 'son', 'daughter'];

$family[] = 'puppy'; // 配列の末尾に要素を追加

echo $family[4]; // 'puppy'


// 連想配列の場合
$family_name = [
    'dad' => 'Bob',
    'mom' => 'Jessy',
    'son' => 'James',
    'daughter' => 'Emily'
];

$family_name['puppy'] = 'John';

echo $family_name['puppy']; // 'John'

在列表开头添加元素

如果要在开头添加,可以使用array_unshift()函数。

<?php

$family = ['dad', 'mom', 'son', 'daughter'];

array_unshift($family, 'grandma');

// $familyは['grandma', 'dad', 'mom', 'son', 'daughter']になる

在任意的位置添加元素

如果要在数组中间插入元素,请使用以下方法。
array_splice()原本是一个用于替换元素的函数,但是当在第三个参数中指定0时,可以不删除元素而进行插入。

<?php

$family = ['dad', 'mom', 'son'];

// $family[2]の前に'uncle'を追加
array_splice($family, 2, 0, 'uncle');

// ['dad', 'mom', 'uncle', 'son']

新增多个元素

你也可以使用array_push()函数一次性添加多个元素。

<?php

$family = ['dad', 'mom', 'son'];
array_push($family, 'puppy', 'citty');

// ['dad', 'mom', 'son', 'puppy', 'citty']

使用array_merge()函数可以将两个数组合并。

<?php

$family = ['dad', 'mom', 'son'];
$add_member = ['grandma', 'grandpa'];

$new_family = array_merge($add_member, $family);

// $new_familyは['grandma', 'grandpa', 'dad', 'mom', 'son']

※对于array_merge函数,原始数组($family)不会受到影响。

多维数组 (duō shù zu)

您可以为数组的元素设置一个数组。

<?php

$families = [
    [
        'dad', 'mom', 'son'
    ],
    [
        'dad', 'mom', 'daughter'
    ]
];

echo $families[0][0]; // 'dad'

echo $families[1][2]; // 'daughter'

// $families['Smith']と$families['Williams']はそれぞれ配列

当然也可以将关联数组转换为多维数组。

<?php

$families = [
    'Smith' => [
        'dad' => 'Bob',
        'mom' => 'Jessy',
        'son' => 'James'
    ],
    'Williams' => [
        'dad' => 'Michael',
        'mom' => 'Jessy',
        'daughter' => 'Emily'
    ]
];

echo $families['Smith']['dad']; // 'Bob'

这里的 $families[‘Smith’][‘mom’] 的 ‘Jessy’ 和 $families[‘Williams’][‘mom’] 的 ‘Jessy’,虽然是相同的字符串,但它们是不同的东西。
这是史密斯家的杰西和威廉斯家的杰西。

在刚开始学习编程的时候,我对这个有点摸不着头脑,感觉有点蒙圈。。

在PHP中使用数组时要注意的事项

在PHP中,索引数组和关联数组被视为相同的“数组类型”。尽管索引数组和关联数组可以混合使用,或在循环处理等方面几乎以相同的方式处理,但在其他语言中,处理方式是不同的,所以需要注意!

总结

数组是非常深奥的,除了与数组相关的函数等等,还有很多其他的内容,但由于这篇文章是面向初学者的,所以我们将在另一个机会再讨论它们!

请务必阅读下面的文章作为参考(抱歉,我不能自己添加链接)。

【PHP】关联数组、添加到数组

[PHP] 初始化数组和关联数组、合并、添加

广告
将在 10 秒后关闭
bannerAds