首頁 > 後端開發 > PHP問題 > php數組key可以不從0開始嗎

php數組key可以不從0開始嗎

青灯夜游
發布: 2023-03-17 19:08:01
原創
1687 人瀏覽過

php數組key(下標)可以不從0開始;PHP中數組的下標預設是從0開始的,但不是全部都是0開始,可以特別指定數組的下標,PHP會依照指定的下標進行自增。 PHP數組的下標可以整數,也可以是字串;下標為字串的數組為關聯數組,是具有特殊索引方式的數組;下標為數字的數組為索引數組,其下標值必須為整數。

php數組key可以不從0開始嗎

本教學操作環境:windows7系統、PHP8版、DELL G3電腦

php陣列key(下標)可以不從0開始

PHP中的數字所以數組的下標預設從0開始,不需要特別指定,PHP會自動為其分配一個整數數值的下標值,然後自增。

<?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);
?>
登入後複製

php數組key可以不從0開始嗎

當然也可以指定開始的下標,PHP會依照指定的下標進行自增。 例如:

<?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);
?>
登入後複製

php數組key可以不從0開始嗎

我們也可以任意指定數組的鍵名保存數組值,例如:

<?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);
?>
登入後複製

php數組key可以不從0開始嗎

擴充知識:

php中,陣列的下標可以整數--索引數組,也可以是字串--關聯數組

  • 索引陣列的下標(鍵名)由整數值組成,且預設從0 開始,每個數字對應一個陣列元素在陣列中的位置,不需要特別指定,PHP 會自動為索引數組的鍵名賦一個整數值,然後從這個值開始自動遞增。

  • 關聯陣列的鍵名可以是任何一個整數或字串。如果鍵名是字串,則要給這個鍵名加上定界修飾符-單引號' '或雙引號" "。對於索引數組,為了避免混清,最好也加上定界符。在

php中,陣列的元素順序不是由下標決定,而是由其「加入」的順序決定

$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); //如果下标跟前面的重复,则单纯覆盖前面同名下标的值
登入後複製

其他形式:

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

推薦學習:《PHP影片教學

以上是php數組key可以不從0開始嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板