A. 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就是一個二維數組。
同理,三維,四維數組也可以繼續定義下去。
數組的元素不僅於數字和字元串,可以是類的對象。
B. php數組怎樣根據值得到索引
用array_search()搜索鍵值,返回鍵名(索引),如果同一個值出現多次,那麼返回第一次出現時的鍵名(索引).
<?php
$a=array(3,4,5,4,7,3);
$s=array_search('4',$a);
echo $s;//
?>
C. php 數組索引值如何重新從0開始遞增
對於索引數組,php還有提供了另外一個內置函數,能夠重置數組索引array_merge($arr),當array_merge()只傳入一個參數且鍵名是整數,返回該數組,其鍵名以0開始進行重新索引。
其中PHP中的數組實際上是一個有序映射。映射是一種把values關聯到keys的類型。換言之,數組是特殊的變數,可以同時保存一個以上的值。
在PHP中數組類型有三種:索引數組(帶有數字索引的數組),關聯數組(帶有指定鍵的數組),多維數組(包含一個或多個數組的數組)。
(3)php索引數組擴展閱讀:
注意事項:
1、兩個相同的索引數組,同時執行,後面的會把前面的覆蓋掉。
2、在php中 索引數組的下標可以不連續。
3、如果兩個下標是空會自動增加。
4、數組的自動增長下標,默認是從0開始的,自動增長的都是出現過的最大值加1。
5、關聯數組不會影響到索引數組的排序規則,就算是索引數組是負數 也不會影響,最大值+1。
D. php數組、鍵名、索引、鍵值有什麼區別
數組的根據類型來分,分為關聯數組和數字索引數組。
E. PHP如何讓數組索引從零開始
PHP 中的 array_values() 函數可以實現
array_values() 函數返回一個包含給定數組中所有鍵值的數組,但不保留鍵名。
被返回的數組將使用數值鍵,從 0 開始且以 1 遞增。
例子
<?php
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");
print_r(array_values($a));
?>
輸出:
Array ( [0] => Cat [1] => Dog [2] => Horse )
F. php 數組如何去掉索引值
不可能去掉,默認都會有數字作為索引值。不然怎麼取值
G. PHP數組索引
不可以的!一個元素,只能有唯一的索引,要麼數字要麼字元串
不過在同一個數組中,可以存在不同的元素,分別使用數字索引和字元串索引
H. 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
I. PHP取得數組中的所有索引
希望我的回答是准確的
1.全等比較的意思是檢查數據類型,比如有這么一個數組:$a1 = array(10,20,30,"10"),如果你array_keys($a1,"10",false),則會返回兩個值,因為在數組中存在一個int和一個string,最終值都是10;但是如果第三個參數設置為true,那麼會判斷查詢的值的類型是否存在於數組中,這時候返回值就不同了。可以親自嘗試一下
2.關於索引的這個例子,PHP中的數組都是有索引的,如果你沒有加索引,那麼默認會給你加上。
例如:
$arr2=array(
'sunday',
'saturday',
'monday',
'sunday',
'sunday',
);
這種寫法是縮減的,它完整的寫法應該是
$arr2=array(
0 => 'sunday',
1 => 'saturday',
2 => 'monday',
3 => 'sunday',
4 => 'sunday',
);
這樣。array_keys找出所有此數組中的鍵值,那麼如果不帶參數,則會返回0,1,2,3,4這樣的。而返回值又是一個數組,所以PHP把返回的鍵值存放在一個數組中。這樣你就會混亂。這個例子不好,我們舉另外一個例子:
比如現在有個數組:
$a = array(
'id' => 1,
'name' => wang,
'image' => 'touxiang.jpg'
);
那麼,array_keys返回的結果應該是
array(
0 => 'id',
1 => 'name',
2 => 'image'
)
因為你取出鍵值時PHP會默認存為一個數組,所以會產生某個數組鍵值的鍵值,但是這個鍵值只是默認加上的,是PHP的數組特性,並不需要特別關心。
J. php如何判斷是否為索引數組
判斷一個PHP數組是關聯數組還是數字數組的函數
function is_assoc($arr) {
return array_keys($arr) !== range(0, count($arr) - 1);
}
測試
$arr = array(1, 2, 3, 4, 5, 6, 7);
print is_assoc($arr); // 輸出false
$arr = array("foo" => "bar", "bar" => "foo");
print is_assoc($arr); // 輸出true
$arr = array("foo" => "bar", 3, 4, 5);
print is_assoc($arr); // 輸出true