Home  >  Article  >  Backend Development  >  Can the php array key not start from 0?

Can the php array key not start from 0?

青灯夜游
青灯夜游Original
2023-01-14 18:38:471653browse

php array key (subscript) does not need to start from 0; the subscript of the array in PHP starts from 0 by default, but not all start from 0. You can specifically specify the subscript of the array, PHP It will be automatically incremented according to the specified subscript. The subscript of a PHP array can be an integer or a string; the array whose subscript is a string is an associative array, which is an array with a special indexing method; the array whose subscript is a number is an index array, and its subscript value must is an integer.

Can the php array key not start from 0?

The operating environment of this tutorial: windows7 system, PHP8 version, DELL G3 computer

php array key (subscript ) does not need to start from 0

Numbers in PHP so the subscript of the array starts from 0 by default, no need to specify it, PHP will automatically assign an integer subscript to it value and then increment it.

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$array[] = &#39;苹果&#39;;
$array[] = &#39;香蕉&#39;;
$array[] = &#39;梨&#39;;
$array[] = &#39;桃子&#39;;
var_dump($array);
?>

Can the php array key not start from 0?

Of course, you can also specify the starting subscript, and PHP will automatically increment according to the specified subscript. For example:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$array[2] = &#39;苹果&#39;;
$array[] = &#39;香蕉&#39;;
$array[] = &#39;梨&#39;;
$array[] = &#39;桃子&#39;;
var_dump($array);
?>

Can the php array key not start from 0?

We can also specify the key name of the array to save the array value, for example:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$array[2] = &#39;苹果&#39;;
$array[4] = &#39;香蕉&#39;;
$array[9] = &#39;梨&#39;;
$array[1] = &#39;桃子&#39;;
var_dump($array);
?>

Can the php array key not start from 0?

Extended knowledge:

In php, the subscript of an array can be an integer - an index array, or a string - an associative array

  • The subscript (key name) of the index array consists of integer values, and starts from 0 by default. Each number corresponds to the position of an array element in the array. There is no need to specify it. PHP will automatically The key name of the index array is assigned an integer value, and then it is automatically incremented from this value.

  • The key name of the associative array can be any integer or string. If the key name is a string, add a delimiting modifier to the key name - single quotes ' ' or double quotes " ". For indexed arrays, in order to avoid confusion, it is best to add delimiters.

In php, the order of the elements of the array is not determined by the subscript, but by the order of their "joining"

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

Other forms:

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

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of Can the php array key not start from 0?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn