php数组下标只能从0开始吗
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); ?>
输出结果:
这样在键名值2、3、4、5的位置分别保存着"one","two","three","four"四个元素值。
我们也可以任意指定数组的键名保存数组值,例如:
$temp_number = array(2=>"one",4=>"two",6=>"three");
输出结果:
这样在键名值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视频教程》