什麼是數組數組
其實是一個有序映射。映射是一種把 values 關聯到 keys
app
傳統上把數組定義爲一組有某種共同特性的元素,如類似性,和類型,每一個元素由一個特殊的ide
標識來區分,這稱爲key.指針
數組的類型排序
數值數組 索引
帶有數字 ID 鍵的數組ip
$names = array("a","b","c");ci
關聯數組 字符串
數組中的每一個 ID 鍵關聯一個值 it
$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);