【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] 初始化数组和关联数组、合并、添加