首頁 > 後端開發 > php教程 > php數組函數實例教程詳解

php數組函數實例教程詳解

WBOY
發布: 2016-07-25 08:51:44
原創
1030 人瀏覽過
  1. $arr=array("name"=>"user1","age"=>"30", "sex"=>"man");

  2. foreach($arr as $key=>$val){
  3. $keys[]=$key;
  4. $vals[]=$val;
  5. }
  6. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  7. print_r($keys);
  8. echo "";
  9. echo "
    ";
  10. echo "
     "; 
    登入後複製
  11. print_r($vals);
  12. echo "";
  13. ?>

複製程式碼

2.array_values的使用

  1. $arr=array("name"=>"user1","age"=>"30","sex" =>"man");
  2. $keys=array_values($arr);
  3. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  4. print_r($keys);
  5. echo "";
  6. ?>
複製程式碼

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();

  1. $arr=array("user1"=>70,60,80,78,34,34,34,56, 78,78);
  2. function older($var){
  3. return ($var>60);
  4. }
  5. $arr2=array_filter($arr,"older");
  6. echocho2=array_filter($arr,"older");
  7. echocho "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  8. print_r($arr2);
  9. echo "";
?>
複製程式碼

2.array_map(); 引用參數: 需求:數組值自加1
  1. function show(&$arr){
  2. foreach($arr as $key=>$val){
  3. $arr[$key ]=$val 1;
  4. }
  5. }
複製程式碼

陣列的排序函數 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();
  1. $arr=array("user1"=>10,"b"=>1,"c"=>3, "d"=>30);
  2. $arr2=array_flip($arr);
  3. ksort($arr2);
  4. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  5. print_r($arr2);
  6. echo "";
?>
複製程式碼

natsort();
  1. $array1 = $array2 = array("img12.png", "img10.png", "img2.png" "img1.png");
  2. sort($array1);
  3. echo "Standard sortingn";
  4. print_r($array1);
  5. natsort($array2);
  6. echo "nNatural sortingn";
  7. print_r($array2);
?>
複製程式碼

多數組排序:
  1. $arr=array("aaa","bbbbbbbbb","cc","ddddd");
  2. aaa/ /需求:
  3. //1.依照標題長度排序
  4. //2.標題長度變成標題字串的key
  5. //將數組中的value的長度取出,並作為一個新數組
  6. //strlen($val)取出字串的長度
  7. foreach ($arr as $val) {
  8. $lens[]=strlen($val);
  9. }
  10. array_multisort($ lens,SORT_ASC,$arr);//對數組進行排序,根據第一個數組來排序第二個數組SORT_ASC表示升序排序
  11. sort($lens);
  12. $arr2=array_combine($lens, $arr);//第一個陣列作為第二個陣列對應的key,傳回一個新陣列
  13. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  14. print_r($arr2);
  15. echo "";
  16. ?>
複製程式碼

拆分,合併,分解與結合函數 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();從最前面的位置壓入一個值

  1. $str="php,js,html,ces,div";
  2. $arr=explode("," ,$str);
  3. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  4. print_r($arr);
  5. echo "";
  6. ?>
複製程式碼

2.inplode();將陣列組合為字串

  1. $str="php,js,html,ces,div";

  2. $arr =explode(",",$str);
  3. $str2=implode("-",$arr);
  4. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  5. print_r($str2);
  6. echo "";
  7. ?>
  8. $str="php,js,html,ces,div";

  9. $arr=explode (",",$str);
  10. $arr2=array_reverse($arr);//講數組中的值進行倒序
  11. $str2=implode("-",$arr2);
  12. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  13. print_r($str2);
  14. echo "";
  15. ?>
複製程式碼

array_slice();

  1. //截取總是從後往前截取
  2. $arr = array("aa","bb", "cc","dd","ee","ff","gg");
  3. $arr2 = array_slice($arr, 0,2);//表示從0的位置截取2個aa bb
  4. $arr3 = array_slice($arr, -3,2);//表示從後往前數到3的位置,開始截取2個//ee ff
  5. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  6. print_r($arr3);
  7. echo "";
  8. ?>
複製程式碼

不僅拆減,而且可以添加

  1. $arr = array("aa","bb","cc","dd","ee"," ff","gg");
  2. $arr2 = array_splice($arr, 0, 3, array("hh","ii","jj","kk"));//直接取原數組的值,並將原數組進行改變,原數組為取走以後剩下的值
  3. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  4. print_r($arr2);
  5. echo "";
  6. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  7. print_r($arr);
  8. echo "";
  9. ?>
複製程式碼

複製程式碼
  1. 複製程式碼
  2. 複製程式碼
  3. 複製程式碼
複製程式碼

複製程式碼
  1. 複製程式碼
  2. 複製碼
  3. array_merge();
  4. $a = array("aa","bb","cc");
  5. $b = array( "dd","ee","ff","gg");
  6. $arr = array_merge($a, $b);
  7. echo "
    "; 
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    登入後複製
  8. print_r($arr) ;
  9. echo "";
  10. ?>
  11. 複製程式碼
  12. 其他有用的陣列處理函數: 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; ?>

複製程式碼


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板