php只有索引数组对不对

不对。php不仅支持以数字为键名的索引数组,还支持以字符串或字符串、数字混合为键名的关联数组。索引数组的下标(键名)由数字组成,默认从0开始,每个数字对应一个数组元素在数组中的位置,不需要特别指定。关联数组的下标(键名)由数值和字符串混合的形式组成,如果一个数组中有一个键名不是数字,那么这个数组就是关联数组。

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

不对。php中不仅有索引数组,还有关联数组。

数组 array 是一组有序的变量,其中每个值被称为一个元素。每个元素由一个特殊的标识符来区分,这个标识符称为键(也称为下标)。

数组中的每个实体都包含两项,分别是键(key)和值(value)。可以通过键值来获取相应的数组元素,这些键可以是数值键,也可以是关联键。如果说变量是存储单个值的容器,那么数组就是存储多个值的容器。

在 PHP 数组中,无论什么类型的键名都会有一个值与其相对应,即一个键/值对,根据数组键名数据类型的不同,我们可以把 PHP 数组分为两种:

  • 以数字作为键名的称为索引数组(Indexed Array);

  • 以字符串或字符串、数字混合为键名的数组称为关联数组(Associative Array)。

1) 索引数组

索引数组的下标(键名)由数字组成,默认从 0 开始,每个数字对应一个数组元素在数组中的位置,不需要特别指定,PHP 会自动为索引数组的键名赋一个整数值,然后从这个值开始自动递增。

<?php
    $arr = array('华为','三星','vivo','oppo');
    print_r($arr);
    echo '<br/><br/><br/>';
    echo '数组 $arr 中的,键名为2的键值为:'.$arr[2];
?>

也可以这样写:

<?php
    $arr1 = array('0' => '苹果','1' => '香蕉','2' => '橘子','3' => '李子','4' => '草莓');
    print_r($arr1);
    echo '<br/><br/>';
    $arr2[0] = '苹果';
    $arr2[1] = '香蕉';
    $arr2[2] = '橘子';
    $arr2[3] = '李子';
    $arr2[4] = '草莓';
    print_r($arr2);
?>

2) 关联数组

关联数组的下标(键名)由数值和字符串混合的形式组成,如果一个数组中有一个键名不是数字,那么这个数组就是关联数组。

关联数组的键名可以是任何一个整数或字符串。如果键名是一个字符串,则要给这个键名加上一个定界修饰符——单引号''或双引号""。对于索引数组,为了避免混清,最好也加上定界符。

<?php
    $arr1 = array('Apple' => '苹果','Banana' => '香蕉','Orange' => '橘子','Plum' => '李子','Strawberry' => '草莓');
    print_r($arr1);
?>