php關聯數組索引數組
❶ php 索引數組和關聯數組的區別
索引數組是數字下標;關聯數組是鍵值下標。
關聯數組操作起來比較方便,而且信息量相對來說大些
❷ Php里什麼是數組什麼是關聯數組
1、添加數組元素
PHP是一種弱類型語言,這意味著你不需要顯示聲明一個數組及其大小,相反,你可以同時聲明並填充數組。
$capitals = array(
'Alabama' => 'Montgomery',
'Alaska' =>
'Juneau',
'Arizona' => 'Phoenix'
); 額外的數組元素可以象下面這樣追加:
$capitals['Arkansas'] = 'Little Rock';
如果你正在處理數字索引數組,你可能想使用顯示命名的函數前置和追加元素,如array_push()和array_unshift()函數,但這些函數不能操作關聯數組。
2、刪除數組元素
如果要從數組中刪除一個元素,請使用unset()函數,如:
unset($capitals['California']);
使用數字索引數組時,刪除數組元素的辦法更多,更靈活,可以使用array_shift()和array_pop()函數分別從數組的開頭和末尾刪除一個元素。
3、交換鍵和值
假設你想創建一個名叫$states的新數組,使用州府作為索引,使用州名作為關聯值,使用array_flip()函數很容易完成這個任務。
❸ PHP中一維索引數組轉二維關聯數組
$u_id=2;
$a_id=array(2,3,4);
$arr=array_map(function($v){
global$u_id;
returnarray("u_id"=>$u_id,"a_id"=>$v);
},$a_id);
print_r($arr);
❹ php數組 關聯數組 怎麼寫
不同的情況有不同的寫法
介紹幾個操作PHP關聯數組的技巧。
1、添加數組元素
PHP是一種弱類型語言,這意味著你不需要顯示聲明一個數組及其大小,相反,你可以同時聲明並填充數組。
$capitals=array(
'Alabama'=>'Montgomery',
'Alaska'=>'Juneau',
'Arizona'=>'Phoenix'
);額外的數組元素可以象下面這樣追加:
$capitals['Arkansas']='LittleRock';如果你正在處理數字索引數組,你可能想使用顯示命名的函數前置和追加元素,如array_push()和array_unshift()函數,但這些函數不能操作關聯數組。
2、刪除數組元素
如果要從數組中刪除一個元素,請使用unset()函數,如:
unset($capitals['California']); 使用數字索引數組時,刪除數組元素的辦法更多,更靈活,可以使用array_shift()和array_pop()函數分別從數組的開頭和末尾刪除一個元素。
3、交換鍵和值
假設你想創建一個名叫$states的新數組,使用州府作為索引,使用州名作為關聯值,使用array_flip()函數很容易完成這個任務。
復制代碼代碼如下:
$capitals=array(
'Alabama'=>'Montgomery',
'Alaska'=>'Juneau',
'Arizona'=>'Phoenix'
);
$states=array_flip($capitals);
//$states=array(
//'Montgomery'=>string'Alabama',
//'Juneau'=>string'Alaska',
//'Phoenix'=>string'Arizona'
//);
4、合並數組
假設前面的數組由一個基於Web的「FlashCard」服務使用,你想提供一種方法測試學生對美國各州首府的掌握情況,你可以使用array_merge()函數合並包含州和首府的數組。
復制代碼代碼如下:
$stateCapitals=array(
'Alabama'=>'Montgomery',
'Alaska'=>'Juneau',
'Arizona'=>'Phoenix'
);
$countryCapitals=array(
'Australia'=>'Canberra',
'Austria'=>'Vienna',
'Algeria'=>'Algiers'
);
$capitals=array_merge($stateCapitals,$countryCapitals);
5、編輯數組值
假設在數組中的數據包含大小寫錯誤,在插入到資料庫之前,你想糾正這些錯誤,你可以使用array_map()函數給每個數組元素應用一個回調。
復制代碼代碼如下:
functioncapitalize($element)
{
$element=strtolower($element);
returnucwords($element);
}
$capitals=array(
'Alabama'=>'montGoMEry',
'Alaska'=>'Juneau',
'Arizona'=>'phoeniX'
);
$capitals=array_map("capitalize",$capitals);
❺ php怎麼把關聯數組轉成索引數組
PHP和PERL、VB不同,其只有「數組」,沒有單獨的「關聯數組」類型,實際上PHP的所有數組都是關聯數組,當沒有指定鍵值的時候,鍵值為0、1、2……
php中定義數組的方法:
PHP定義數組的格式
數組名=array();
如:$aa=array();//這樣就定義了一個數組,
之後給元素賦值:
$aa[0]="9016";
$aa[1]="9017";
$aa[2]="9018";
PHP輸出數組的方法:
foreach($aa as $val)
{echo$val;}
也可以在定義數組時直接賦值
$aa=array(0=>"9016",1=>"9017";2=>"9018");
PHP的數組還可以用字元做下標,不一定要數字.
$aa["name"]="Joan";
$aa["num"]="9018";
$aa["email"]="[email protected]";
也可以這樣
$aa=array("name"=>"joan","num"=>"9018","email"=>"[email protected]");
將一個一維數組的元素也定義為數組,就是一個二維數組,
$aa=array(0=>"a1",1=>"a2");
$bb=array(0=>"b1",1=>"b2");
$cc=array(0=>$aa;1=>$bb);此時,$cc[0]也是一個數組,$cc[1]也是一個數組,$cc就是一個二維數組。
同理,三維,四維數組也可以繼續定義下去。
數組的元素不僅於數字和字元串,可以是類的對象。
❻ php中數組的分類有哪兩種
1、索引數組
有兩種創建索引數組的方法:
索引是自動分配的(索引從 0 開始):
$cars=array("porsche","BMW","Volvo");
2、關聯數組
關聯數組是使用您分配給數組的指定鍵的數組。
有兩種創建關聯數組的方法:
$age=array("Bill"=>"35","Steve"=>"37","Elon"=>"43");
(6)php關聯數組索引數組擴展閱讀
實用函數——
有相當多的實用函數作用於數組,參見數組函數一節。
注: unset() 函數允許取消一個數組中的鍵名。要注意數組將不會重建索引。
<?php
$a = array( 1 => 'one', 2 => 'two', 3 => 'three' );
unset( $a[2] );
/* 將產生一個數組,定義為
$a = array( 1=>'one', 3=>'three');
而不是
$a = array( 1 => 'one', 2 => 'three');
*/
$b = array_values($a);
// Now $b is array(0 => 'one', 1 =>'three')
?>
foreach 控制結構是專門用於數組的。它提供了一個簡單的方法來遍歷數組。
❼ php數組、鍵名、索引、鍵值有什麼區別
數組的根據類型來分,分為關聯數組和數字索引數組。
❽ php 怎麼把索引數組賦值給關聯數組
在PHP中可以用關聯數組的形式表示如下:
$grade=array(name=>li kui,age=>163);
只要指出一點的就是=>,這個運算符非常的形象,一看就能夠明白:鍵為name的值是li kui;鍵為age的值是163。當然你也可以用以下的形式來創建關聯數組:
$grade["name"]=li kui;
$grade["age"]=16;
PHP中的多維數組
在多維數組中,主數組中的每個元素也是一個數組。在子數組中的每個元素也可以是數組,以此類推。同樣我們以學校里的班級為例來說明如何定義多維數組。
所謂多維數組,無非就是在「一維數組」中再加入一個數組,這就是嵌套吧。在學校里我們知道,一個年級可能有多個班級,如一班、二班、三班等,用多維數組表示如下:
$school=array(1=>array(name=>li kui,age=>163),
2=>array(name=>wu song,age=>183)
&&
);
如果你要訪問wu song,按如下的形式訪問即可:
print $school[2][name]; //輸出wu song
❾ php中怎麼搜索相關聯數組鍵值及獲取之
array_search()函數在一個數組中搜索一個指定的值,如果找到則返回相應的鍵,否則返回FALSE
1.搜索關聯數組鍵
如果在一個數組中找到一個指定的鍵,函數array_key_exists()返回TRUE,否則返回FALSE。其
形式如下:
booleanarray_key_exists(mixedkey,arrayarray)
下面的例子將在數組鍵中搜索Ohio,如果找到,將輸出這個州加入育關信息:
$state["Delaware"]="December
7,1787";
$state["Pennsylvania"]="December12,1787";
$state["Ohio"]="March
l,1803";
86第5章數組
if(array_key_exists("Ohio",$state》
printf("Ohio
joinedtheUnionon%s",$state["Ohio"]);
結果如下:
2.搜索關聯數組值
array_search()函數在一個數組中搜索一個指定的值,如果找到則返回相應的鍵,否則返回FALSE。
其形式如下:
下面的例子在$state中搜索一個特定的日期(December7),如果找到,則返回相應州的有關信息:
$state["Ohio"]
="Marchl";.
$statef"Delaware"l="December7";
$state["Pennsylvania"]=
"December12u;
$founded=array_search("December7",$state),
i+
($founded)printf("%swasfoundedon%s.",$founded,
$state[$founded]);
輸出如下:
Delawarewas十oundedonDecember7.
5.4.2獲取數組鍵
array_keys()函數返回一個數組,其中包含所搜索數組中找到的所有鍵。其形式知下:
array
array_keys(arrayarray【Jmixedsearch_value])
如果包含可選參數search
value,則只會返回與該值匹配的鍵。下面的例子將輸出$state數組中
找到的所有鍵值:
$state["Delaware"]=
"December7,1787";
$state["Pennsylvania"]="December12,
i787";
$state["NewJersey"]="December18,1787";
$keys=
array_keys($state);
print_r($keys);
輸出如下:
5.4.3獲取數組值
array_values()函數返回一個數組中的所有值,並自動為返回的數組提供數值索引。其形式如下:
array
array_values(arrayarray)
5.5遍歷數組
87
下面的例子將獲取$population中找到的各州人口數:
$population=array("Ohio"=>"11,421,267",
"Iowa"=>"2,936,760");
print_r(array_values($population》;
這個例子的輸出如下:
5.5遍歷數組
通常需要遍歷數組並獲得各個鍵或值(或者同時獲得鍵和值),所以毫不奇怪,PHP為此提供了
一些函數來滿足需求。許多函數能完成兩項任務,不僅能獲取當前指針位置的鍵或值,還能將指針移
向下一個適當的位置。本節將介紹這些函數。
5.5.1
獲取當前數組鍵
key()函數返回input_array中當前指針所在位置的鍵。其形式如下:
mixedkey(array
array)
下面的例子通過迭代處理數組並移動指針來輸出$capitals數組的鍵:
$capitals=array("Ohio"=>"Columbus",
"Iowa"=>"DesMoines");
echo"<p>Canyounamethecapitalsofthese
states?</p>";
while($key=key($capitals》{
printf("%s
<br,>「,$key);
next($capitals);
,
將返回以下結果:
Ohio