PHP数组下标不是只能从0开始;PHP中数组的下标默认是从0开始的,但并不是全部都是0开始,可以特别指定数组的下标,PHP会根据指定的下标进行自增,语法为“$array = array(指定下标=>"第一个元素","第二个元素"...)”。

本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑

php数组下标不是只能从0开始

PHP中的数字所以数组的下标默认从0开始,不需要特别指定,PHP会自动为其分配一个整型数值的下标值,然后自增。

当然也可以指定开始的下标。例如:

<?php
$temp_number = array(2=>"one","two","three","four");
print_r($temp_number);
?>

输出结果:

24.png

这样在键名值2、3、4、5的位置分别保存着"one","two","three","four"四个元素值。

我们也可以任意指定数组的键名保存数组值,例如:

$temp_number = array(2=>"one",4=>"two",6=>"three");

输出结果:

25.png

这样在键名值2、4、6的位置分别保存着"one","two","three"三个数组元素的值。

扩展知识

数组基础:

php中,数组的下标可以整数,也可以是字符串

php中,数组的元素顺序不是由下标决定,而是由其“加入”的顺序决定

定义:

$arr1 = array(元素1,元素2,。。。。。。);
array(1,1.1,5,'abc',true,false); //可以存储任何数据,此时为默认下标
array(2=>1,4=>1.1,3=>5,7=>'abc',0=>true); //下标可任意设定(无需顺序,无需连续)
array(2=>1,1.1,1=>5,'abc',0=>true); //可以加下标,也可以不加,不加下标则为默认下标
//默认下标规则:前面已经用过的最大数字下标+1
//这个数字的下标分别是:2,3,1,4,0
array(2=>1,'dd'=>5,1=>1.1,'abc',0=>true); //混合下标,同样遵循默认下标规则
array(-2=>1,'dd'=>5,1.1,'abc',true); //负数下标不算在整数下标中,而只当作字符下标
//则这个数组最后三项的下标为:0,1,2
array(2.7=>1,'dd'=>5,1=>1.1,'abc',true); //浮点数下标会自动转换为整数,且直接去掉小数部分
array("2.7"=>1,'dd'=>5,"11"=>1.1,'abc',true); //纯数字字符串下标,当作数字看待
array(2=>1,'dd'=>5,true=>1.1,'abc',false=>true); //布尔值当作下标,则true为1,false为0
array(2=>1,'dd'=>5,2=>1.1,'abc',true); //如果下标跟前面的重复,则单纯覆盖前面同名下标的值

其他形式:

$arr1[] = 1;
$arr1[] = 5;
$arr1[] = 1.1;
......  //直接在变量后面使用[],就成为数组,并依次赋值
$arr2['aa'] = 1;
$arr2['bb'] = 5;
$arr2[5] = 1.1;
......  //这种形式写的下标,其实跟使用array语法结构几乎一样


php数组下标只能从0开始吗