PHP中的数组是什么


What are Arrays in PHP

根据标准数组定义:数组是一个变量,允许您存储相同数据类型的多个值。

在PHP中,比如$a=array("abc",123,"4");

$a[0]abc、$a[1]123和$a[2]4将被视为字符串、数值或字符值,为什么?

PHP中的数组是不同的,只有一种类型的数组可以存储不同的类型。在您的示例中,项目保持其原始类型。abc是字符串,123是数字,4是字符串。

您甚至可以使用非数字键。例如$a["a"] = "test"

在php中,数组不是数组。

如果你真的想知道这整件事是如何运作的,我建议你观看以下演讲:Johannes Schlüter的2012年PHP英国会议-PHP under the hood。

此外,正如@RepWhoringPeeHaa所提到的:使用var_dump()

PHP对待数组的方式不同于它们的一般definition

我建议你在官方文档上多读一些关于它们的内容。

数组

PHP中的数组实际上是一个有序映射。映射是一种将值与键相关联的类型。这种类型针对多种不同用途进行了优化;它可以被视为数组、列表(向量)、哈希表(映射的实现)、字典、集合、堆栈、队列,甚至更多。由于数组值可以是其他数组,因此树和多维数组也是可能的。

使用array()指定

可以使用array()语言构造创建数组。它采用任意数量的逗号分隔键=>值对作为参数。

array(
    key  => value,
    key2 => value2,
    key3 => value3,
    ...
)

最后一个数组元素后面的逗号是可选的,可以省略。这通常是针对单行阵列进行的,即阵列(1,2)比阵列(1、2,)更可取。另一方面,对于多行数组,通常使用尾随逗号,因为它可以更容易地在末尾添加新元素。

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);
// as of PHP 5.4
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>
相关文章: