PHP數組

什麼是數組

實際上是一個有序映射。映射是一種把  values 關聯到  keys

傳統上把數組定義爲一組有某種共同特性的元素,如相似性,和類型,每個元素由一個特殊的

標識來區分,這稱爲key.

數組的類型

數值數組

帶有數字  ID  鍵的數組

$names = array("a","b","c");

關聯數組

數組中的每個  ID  鍵關聯一個值

$ages = array("a"=>20, "b"=>30, "c"=>40);

多維數組

包含一個或多個數組的數組

在多維數組中,主數組中的每個元素也是一個數組。在子數組中的每個元素也可以是數

組,以此類推

數組的構造

快速創建數組

PHP創建數組是不需要指定大小,也可以不用事先申明(PHP是鬆散型語言).

要引用樹組的元素,可以用一對中括號來指示.只需要建立引用就可以創建數組

如:

$array[0] = ‘a’;

然後可以如下輸出$array 第一個元素

echo $array[0];

接着我們可以映射更多的元素

$array[1] = ‘b’;

$array[2] = ‘c’;

….

$array[20] = ‘m’;

如果認爲索引是連續的,那可以省略索引

如:


$array[] = ‘b’;

$array[] = ‘c’;

….

$array[] = ‘m’;

數組的鍵名可以是整形數字,字符或字符串  索引數組(鍵名爲數字),關聯數組(字符或

數字混合)

如array(‘a’,’b’,’c’);

數組分類一維  ,二維  。。 。

一維數組只保存一列數據

$info[] = 'a',

$info[] = 'b';

$info[] = "a";

$info[] = "a";

$info[] = "a";

$info[] = "a";

$info[] = "a";

數組的遍歷方式  for,foreach while

var_dump($info);

for($i=0;$i<=7;$i++){

echo $info[$i];

}

Foreach($info as $key=>$value){

Echo   ‘key=’.$key.”  Val=”.$val;

}

快速創建數組  range(star,end,[step])

$testArray = range(a,z,1);

print_r($testArray);

爲數組追加數據

$testArray[] = "1";

array_push($testArray,'2','3','4');//追加到末尾


print_r($testArray);

修改數組內容

$testArray[1] = 'f';

$testArray = array_pad($testArray,5,'raojinpg');

//array_pad填補到數組的指定長度不修改原來的值

print_r($testArray);

訪問和處理數組

$array_sort = array("世界","area","深圳","shenzhen");//按ascii

$array_sort = array("1",34,5,6,76);//按大小

sort($array_sort);

print_r($array_sort);

//sort【數字索引】數字,英文  ,漢字

//$states = array('LN'=>"LIANLAO",'BJ'=>"beijing");

//關聯數組排序asort()按數組關聯型,ksort()按數組索引升序,krsort()按數組索引降序

數組隨機抽取  shuffle(),array_rand()

$rand_array = array(1,2,3,4,5,6,14,8,9,10,1,2,3,1);

shuffle($rand_array);//打亂排序

$rand_array = array_rand($rand_array,3);//隨機取數據  如果不帶範圍默認一個

print_r($rand_array);

print_r(array_count_values($rand_array));//統計數組中元素出現的次數

echo array_key_exists(14,$rand_array);//查詢  鍵名是否存在

echo in_array(10,$rand_array);//查詢值是否存在

echo array_sum($rand_array);求和

print_r(array_unique($rand_array));//去除數組中重複的元素

//移動數組內部指針

$zh_array = array("apple","orange","banana","yali");

echo current($zh_array);

echo next($zh_array);


echo prev($zh_array);

echo current($zh_array);

echo end($zh_array);

//取得關聯數組的鍵名

$states = array('LN'=>"LIANLAO",'BJ'=>"beijing");

print_r(key($states));//第一個

print_r(array_keys($states));//全部鍵名

print_r(array_values($states));//全部鍵值

is_array()//判斷數組的  類型

unset($array[0]);//刪除數組指定的元素

array_unshift($array,$value1,$value2..);//在數組的頂部插入數據

array_splice($array,$位子,長度,值)//刪除數組一部分元素並用其他值代替

$states = array('LN'=>"LIANLAO",'BJ'=>"beijing",'NJ'=>"beijing",'TJ'=>"beijing");

array_splice($states,2,1,"raojinpg");

print_r($states);

count($array);sizeof($array);//統計數組

array_flip($array);//鍵名和鍵值替換

array_pop($states);//刪除末尾元素

array_push();//追加到末尾

array_shift($states);//刪除首元素

array_unshift();//追加到開始

print_r($states);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章