liuxiaoyun111 发表于 2018-12-14 12:21:59

php 学习笔记--数组篇(1)

  //1 将key值大小替换

   $arr = array('a' => 1, 'b' => 2, 'C' =>3, 'D' => 4);
   $lower = array_change_key_case($arr, CASE_LOWER);   
   $upper = array_change_key_case($arr, CASE_UPPER);
   //var_dump($lower);
   //var_dump($upper);  
   //2 将数组分割为$size个数组,hasKay为是否保留原来的key值

   $arr2 = array('name' => 'lixueyao', 'age' => 24, 'sex' => 'f');
   $size = 2;
   $hasKey = true;
   $chunk = array_chunk($arr2, $size, $hasKey);
   //var_dump($chunk);     //3 可以将多维数组中指定的key生成一个新数组,第3个参数,可以作为新数组的key值

   $arr3s = array(
         array('name' => 'lixueyao', 'age' => 24, 'sex' => 'f'),
         array('name' => 'zhangsan', 'age' => 25, 'sex' => 'm'),
         array('name' => 'lisi', 'age' => 26, 'sex' => 'f')
   );
   $column = array_column($arr3s, 'age', 'name');
   //print_r($column);  

     //4 合并俩个数组,形成的新数组中一个作为value,一个作为key

$arrCombineOne = array('one', 'two', 'three');
   $arrCombineTwo = array('1', '2', '3');
   $combine = array_combine($arrCombineTwo, $arrCombineOne);
   //print_r($combine);  
   //5返回数组中value 出现的次数

   $arrValue = array('c', 'd', 'a', 'c', 'v');
   $arrcnt = array_count_values($arrValue);
   //print_r($arrcnt);  
    //6 比较数组value 的差集 , one和two参数比较,在two数组中的不存在的就是差集(用one和two去对比, one是被比较的数组)
   //如果是多个数组进行比较则是3个数组的差集。(可以比较多个数组)

   $arrDiffOne = array('a' => 'red', 'b' => 'blue' , 'c' => 'black', 'd' => 'purple');
   $arrDiffTwo = array('a' => 'red', 'b' => 'blue', 'n' => 'black',);
   $arrDiffThree = array('a' => 'red', 'f' => 'hello', 'c' => 'black');
   $arrDiff = array_diff($arrDiffOne, $arrDiffTwo, $arrDiffThree);
   //print_r($arrDiff)  ;
   //7 比较数组的key 和 value(都相同),one是被比较的数组
   //如果是3个数组去比较的话,可以先比较俩个数组,然后再用其他数组去比较前俩个数组的差集

$arrAssoc = array_diff_assoc($arrDiffOne, $arrDiffTwo, $arrDiffThree);
   //print_r($arrAssoc);     //8 比较数组的key值,原理同上

$a4 = array('d' =>'name');
   $arrKey = array_diff_key($arrDiffOne, $arrDiffTwo, $arrDiffThree, $a4);
   //print_r($arrKey);  
    //9 比较数组,但是会比较key (自定义的函数不是很明白, one是被比较的

$uassocOne = array('name' => 'zsy', 'age'=>24, 'say' => 'hello');
   $uassocTwo = array('name' => 'lixueyao', 'age' => 24);
   function myfunction($a , $b)
   {
         $res = null;
         if($a === $b)
         {
             $res = 0;
         }
         $res = ($a$b)?1:-1;      
    }   
    $result=array_diff_ukey($uassocOne,$uassocTwo,"myDiffKey");   
    print_r($result);  

  

  




页: [1]
查看完整版本: php 学习笔记--数组篇(1)