-
-
$arr=array("name"=>"user1","age"=>"30", "sex"=>"man");
- foreach($arr as $key=>$val){
- $keys[]=$key;
- $vals[]=$val;
- }
- echo "
- print_r($keys);
- echo "";
- echo "
";
- echo "
- print_r($vals);
- echo "";
?>
-
複製程式碼
2.array_values的使用
-
-
$arr=array("name"=>"user1","age"=>"30","sex" =>"man");
- $keys=array_values($arr);
- echo "
- print_r($keys);
- echo "";
- ?>
-
複製程式碼
array_values();//取得陣列中的值
array_keys();//取得數組中的健
in_array();//檢查一個值是否在陣列中
array_key_exists();//檢查一個鍵是否在陣列中
array_flip();//鍵和值對調
array_reverse();數組中的值反轉
統計數組的元素和唯一性
1.count();
2.array_count_values();//統計數組中每個值出現的次數.
3.array_unique();//刪除數組中的重複
使用回調函數處理數組的函數:
1.array_filter();
-
-
$arr=array("user1"=>70,60,80,78,34,34,34,56, 78,78);
- function older($var){
- return ($var>60);
- }
- $arr2=array_filter($arr,"older");
- echocho2=array_filter($arr,"older");
- echocho "
- print_r($arr2);
- echo "";
?>
複製程式碼
2.array_map();
引用參數:
需求:數組值自加1
-
-
- function show(&$arr){
- foreach($arr as $key=>$val){
- $arr[$key ]=$val 1;
- }
- }
複製程式碼
陣列的排序函數
1.sort(); 升序,不保留key
2.rsort(); 降序 ,不保留key
3.asort(); 升序,保留key
4.arsort(); 降序,保留key
5.ksort();依key排序 升序
6.krsort();依key排序 降序
7.natsort();自然數排序 升序,例如圖片img2.jpg
8.natcasesort();忽略大小寫 升序排列
9.multisort();多數組排序
ksort();
-
-
-
$arr=array("user1"=>10,"b"=>1,"c"=>3, "d"=>30);
- $arr2=array_flip($arr);
- ksort($arr2);
- echo "
- print_r($arr2);
- echo "";
?>
複製程式碼
natsort();
-
-
-
$array1 = $array2 = array("img12.png", "img10.png", "img2.png" "img1.png");
- sort($array1);
- echo "Standard sortingn";
- print_r($array1);
- natsort($array2);
- echo "nNatural sortingn";
- print_r($array2);
?>
複製程式碼
多數組排序:
-
-
-
$arr=array("aaa","bbbbbbbbb","cc","ddddd");
- aaa/ /需求:
- //1.依照標題長度排序
- //2.標題長度變成標題字串的key
- //將數組中的value的長度取出,並作為一個新數組
- //strlen($val)取出字串的長度
- foreach ($arr as $val) {
- $lens[]=strlen($val);
- }
- array_multisort($ lens,SORT_ASC,$arr);//對數組進行排序,根據第一個數組來排序第二個數組SORT_ASC表示升序排序
- sort($lens);
- $arr2=array_combine($lens, $arr);//第一個陣列作為第二個陣列對應的key,傳回一個新陣列
- echo "
- print_r($arr2);
- echo "";
- ?>
複製程式碼
拆分,合併,分解與結合函數
1.explode();
2.inplode();//join();
3.array_slice();陣列的截取
4.array_splice();數組的裁剪
5.array-merge();合併多數組
6.array_combine();合併數組,兩個數組,前一個數組作為key,後一個數組作為value
7.array_intersect();找出兩個陣列的交集
8.array_diff();找出兩個數組的不同,根據第一個參數
9.array_pop();從最後彈出一個值,回傳彈出值
10.array_push();從最後的位置壓入一個值,傳回元素的個數
11.array_shift();從洗前面的位置刪除一個值
12.array_unshift();從最前面的位置壓入一個值
-
-
$str="php,js,html,ces,div";
- $arr=explode("," ,$str);
- echo "
- print_r($arr);
- echo "";
- ?>
複製程式碼
2.inplode();將陣列組合為字串
-
-
$str="php,js,html,ces,div";
- $arr =explode(",",$str);
- $str2=implode("-",$arr);
- echo "
- print_r($str2);
- echo "";
- ?>
$str="php,js,html,ces,div";
- $arr=explode (",",$str);
- $arr2=array_reverse($arr);//講數組中的值進行倒序
- $str2=implode("-",$arr2);
- echo "
- print_r($str2);
- echo "";
- ?>
-
-
複製程式碼
array_slice();
-
-
//截取總是從後往前截取
- $arr = array("aa","bb", "cc","dd","ee","ff","gg");
- $arr2 = array_slice($arr, 0,2);//表示從0的位置截取2個aa bb
- $arr3 = array_slice($arr, -3,2);//表示從後往前數到3的位置,開始截取2個//ee ff
- echo "
- print_r($arr3);
- echo "";
- ?>
複製程式碼
不僅拆減,而且可以添加
-
-
$arr = array("aa","bb","cc","dd","ee"," ff","gg");
- $arr2 = array_splice($arr, 0, 3, array("hh","ii","jj","kk"));//直接取原數組的值,並將原數組進行改變,原數組為取走以後剩下的值
- echo "
- print_r($arr2);
- echo "";
- echo "
- print_r($arr);
- echo "";
- ?>
複製程式碼
複製程式碼
複製程式碼
- 複製程式碼
-
-
-
- 複製碼
-
-
- array_merge();
-
-
-
-
-
-
$a = array("aa","bb","cc");
- $b = array( "dd","ee","ff","gg");
- $arr = array_merge($a, $b);
- echo "
- print_r($arr) ;
- echo "";
- ?>
-
-
-
- 複製程式碼
-
-
- 其他有用的陣列處理函數:
1.array_rand();//隨機取一個key
2.range();//取出某個範圍的陣列
3.shuffle();//打亂數組的作用
4.array_sum();//計算數組內所有人的和(計算總得分)
如果計算數組的key總和,可以採用array_flip()對數組的健和值進行對調,然後就可以算出健之和.
-
$arr = array("aa","bb","cc","dd" ,"ee","ff","gg"); //將原數組順序隨機打亂shuffle($arr); //取出數組的前3個$ arr2= array_slice($arr, 0 , 3); echo "
"; print_r($arr2); echo " 登入後複製 "; ?> ?> //隨機輸出四位元字元驗證碼實作: //取出1-9 a-z A-Z的陣列$a = range(1, 9); $b = range(a, z); $c = range(A, Z); //將3個數字組合並$d = array_merge($a,$b, $c); //將合併後的陣列打亂shuffle($d); //取合併後的前4位$e = array_slice($d, 0, 4); //將$e數組變成字串$f = join("", $e); echo $f; ?> 複製程式碼
|