要在PHP中创建数组,请使用array()函数。根据array()函数作为其元素参数的值类型以及为其元素生成的索引。
我们将通过PHP示例代码多个场景进行讨论。
array()函数语法
使用array()函数创建数值数组的语法:
array(value1,value2,value3,etc.);
使用array()函数创建关联数组的语法:
array(key=>value,key=>value,key=>value,etc.);
参数 | 描述 |
---|---|
key | 规定键名(数值或字符串)。 |
value | 规定键值。 |
array()函数返回使用传递给它的参数创建的PHP数组。
在下面的示例中,我们将创建一个包含整数和字符串混合的数组。
<?php $arr = array( 85, "apple", "banana" ); ?>
在下面的示例中,我们将创建一个包含键 => 值对的数组。
<?php $arr = array( "a" => 58, "b" => 99, "c" => 41 ); ?>
创建二维数组
二维数组是一种数组,其中数组内的一个或多个值是另一个数组。
<?php $arr = array( "fruits" => array("apple", "banana", "cherry"), "numbers" => array(54, 99, 31), "names" => array("Jack", "Arya", "Arjun") ); ?>
PHP索引数组
自动数组索引是一种机制,其中基于我们可能向数组中的元素提供或可能不提供的索引为数组元素生成索引。
根据我们提供的索引类型,我们可以在很多场景下使用自动数组索引。
我们将通过示例来逐一介绍它们。
1.索引省略
首选我们创建一个没有指定索引的元素数组。
在这种情况下,PHP 会自动为元素创建一个整数索引。整数索引从0开始,对于下一个元素递增1。
在下面的示例中,我们创建了一个包含元素的数组,但没有提供任何索引。
因此,第一个元素的索引为 0,第二个元素的索引为 1,第三个元素的索引为 2,依此类推。
<?php $arr = array( "apple", "banana", "cherry" ); foreach ($arr as $key => $value) { echo $key . ' - ' . $value . '<br>'; } ?>
执行结果
0 - apple 1 - banana 2 - cherry
2.给第一个元素提供索引
索引被提供给数组中的第一个元素,在这种情况下,给定的索引被作为起始索引,接下来的元素将被分配下一个整数。
下面是一个示例程序,我们在其中创建了一个包含元素的数组,并为第一个元素指定了索引 5。因此,第一个元素的索引为 5,下一个元素的索引为 6。
<?php $arr = array( 5 => "apple", "banana", "cherry" ); foreach ($arr as $key => $value) { echo $key . ' - ' . $value . '<br>'; } ?>
执行结果
5 - apple 6 - banana 7 - cherry
3.为数组中间某处的元素提供索引
索引被提供给数组中位置不是第一个的元素。
在这种情况下,该索引作为该元素位置的起始索引,下一个元素将获得下一个整数作为它们的索引。
但对于该元素之前的元素,将应用第一种情况“省略索引”。
<?php $arr = array( "apple", "banana", "cherry", 6 => "mango", "orange", "grape" ); foreach ($arr as $key => $value) { echo $key . ' - ' . $value . '<br>'; } ?>
执行结果
0 - apple 1 - banana 2 - cherry 6 - mango 7 - orange 8 - grape
4.为数组中的多个元素提供相同的索引
相同的索引被赋予数组中的多个元素。
在这种情况下,后面的 key => value 相同的索引会被认定为更新前面的元素。
<?php $arr = array( "apple", "banana", 6 => "cherry", "fig", 6 => "mango", "orange", "grape" ); foreach ($arr as $key => $value) { echo $key . ' - ' . $value . '<br>'; } ?>
执行结果
0 - apple 1 - banana 6 - mango 7 - fig 8 - orange 9 - grape
让我们分解这个场景并了解如何为元素提供索引。
对于前两个元素,没有提供索引。所以,他们的索引从0开始。因此,“apple”为 0,“banana”为 1。
我们给“cherry”的索引为 6。
“fig”没有索引,因此将先前的索引加1并将其分配给“fig”。
现在“mango”的索引为 6,但我们已经有一个索引为 6 的元素。
因此,前面索引为6的现有元素将更新为新值“mango”。
结果“mango”取代了“cherry”。
“orange”和“grape”没有索引,因此它们从前一个元素获得递增的索引。索引分别为 8 和 9。
5.非整数索引
在这种情况下,我们为某些元素提供字符串类型的索引。
没有的元素根据第一种情况“索引被省略”得到一个整数索引。
<?php $arr = array( "apple", "banana", "xc" => "cherry", "fig", "xm" => "mango", "orange", "grape" ); foreach ($arr as $key => $value) { echo $key . ' - ' . $value . '<br>'; } ?>
执行结果
0 - apple 1 - banana xc - cherry 2 - fig xm - mango 3 - orange 4 - grape
结语
在本篇教程中,我们学习了如何使用 array()函数创建PHP数组。