php有五種定義陣列的方式,分別是:1、使用array建立陣列;2、使用「$arr[] = 'a';」方式建立陣列;3、使用「array(1 =>'jack',2=>'lucy',500=>'hcoder')」方式建立陣列;4、使用「$arr[1] = 'jack';」方式建立陣列;5、使用“$arr['name'] = '';”方式建立陣列。
本教學操作環境:windows10系統、php8.1.3版本、DELL G3電腦。
在PHP以及其他程式語言程式設計中,經常會用到陣列的創建,在前端開發中,js的陣列創建可以由[]和new Array()直接創建和賦值。然而PHP創建數組的方法有哪些呢?在查閱資料並且網上收集整理總結了下:
#1. 使用array建立數組,是最常見和便捷的一個方式:
$arr = array('a','b','c'); $arr[] = 'a' ; $arr[] = 'b' ; $arr[] = 'c'; $arr = array('name' => '关羽' , 'age' => 23 , 'sex' => '男');
2. 有時候需要建立一個長度為len的一個隨機數組,所以就可以用range():
定義:array range(first, second,step) //first:元素最小值second:元素最大值step:元素步長(要增加的量)
$number = range(0,5); print_r ($number); //打印:Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 ) $number = range(0,50,10); print_r ($number); //打印:Array ( [0] => 0 [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5] => 50 ) $letter = range("a","d"); print_r ($letter); //打印:Array ( [0] => a [1] => b [2] => c [3] => d )
3.當然,在某些特定需求下,需要把某些變數存入數組,這些變數的變數名轉換成鍵名,變數值轉換成鍵值(前提:該變數存在):
$firstname = "Peter"; $lastname = "Griffin"; $age = "38"; $result = compact("firstname", "lastname", "age"); print_r($result); //打印: Array ( [firstname] => Peter [lastname] => Griffin [age] => 38 ) $firstname = "Peter"; $lastname = "Griffin"; $age = "38"; $name = array("firstname", "lastname"); $result = compact($name, "location", "age"); print_r($result); //打印:Array ( [firstname] => Peter [lastname] => Griffin [age] => 38 ) //由于$location变量不存在,所以存入不了数组
#4. 將兩個數組合併為一個新的數組,第一個數組的值是新數組的鍵名,第二個數組裡面的值是新數組的鍵值:定義:array_combine()函數可以將兩個數字組合併成一個新數組,其中的一個數組是鍵名,另一個數組的值為鍵值。
$a1=array("a","b","c","d"); $a2=array("Cat","Dog","Horse","Cow"); print_r(array_combine($a1,$a2)); //打印:Array ( [a] => Cat [b] => Dog [c] => Horse [d] => Cow )
5. 建立鍵值一樣具有固定長度的陣列:
定義:array_fill(start,number,value) //start:起始索引number:值的個數value:陣列值
$a=array_fill(2,3,"Dog"); print_r($a); //打印:Array ( [2] => Dog [3] => Dog [4] => Dog )
建立陣列格式:
第1種格式
##$陣列名稱= array('值', '值', '值',……);此種格式沒有指定陣列內元素的鍵,PHP 會自動以數字的形式建立鍵,從0 開始,依序累加。 呼叫陣列的格式: $陣列名稱[數字型鍵]<?php $arr = array('a','b','c'); echo $arr[1]; //输出
# 第2種格式
$陣列名稱[] = '值';$數組名稱[] = '值';$數組名稱[] = '值';…#此種格式同樣沒有指定數組內元素的鍵, PHP會自動以數字的形式建立鍵, 從0開始,依序累加。 呼叫陣列的格式: $陣列名稱[數字型鍵];<?php $arr[] = 'a'; $arr[] = 'b'; $arr[] = 'c'; echo $arr[1]; //输出b
第3種格式
$陣列名稱= array(數字類型的鍵=> '值', 數字類型的鍵=> '值', 數字類型的鍵=> '值',……);呼叫格式: $陣列名稱[數字類型的鍵];<?php $arr = array(1=>'jack',2=>'lucy',500=>'hcoder'); echo $arr[500]; //输出hcoder此種格式採用整數作為陣列的鍵,php 對陣列的支援非常靈活,可以任意定義陣列內的數字。 如果數組內出現了重複的鍵則最後出現的元素會覆蓋前面的所有鍵,最後一個為有效值。
第4種格式
<?php $arr[1] = 'jack'; $arr[2] = 'lucy'; $arr[500] = 'hcoder'; echo $arr[500]; //输出hcoder
第5種格式(關聯數組)
#$數組名稱=array('字串形式的鍵'=>'值','字串形式的鍵'=>'值',……);呼叫格式: $陣列名稱['字串形式的鍵'];<?php $arr = array('name'=>'张三', 'age'=>18); echo $arr['age']; //输出18
第6種格式(關聯數組)
$數組名稱[ '字串形式的鍵']=>'值';$數組名稱[ '字串形式的鍵'] =>'值';
……
<?php $arr['name'] = '张三'; $arr['age'] = 18; echo $arr['age']; //输出18簡而言之就是用$a[ ] 和$a=array()
以上是php有幾種定義陣列的方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!