php 数组方法总结--例子就是真理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 数组方法总结--例子就是真理相关的知识,希望对你有一定的参考价值。

     //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;
 
         return $res;
     }
     $arrUassoc = array_diff_uassoc($uassocOne, $uassocTwo, ‘myfunction‘);
     print_r($arrUassoc);

       

    //10 比较key
    

    function myDiffKey($a,$b)     
    {         
        if ($a===$b)         
        {             
            return 0;         
        }         
        return ($a>$b)?1:-1;      
    }     
    $result=array_diff_ukey($uassocOne,$uassocTwo,"myDiffKey");     
    print_r($result);




以上是关于php 数组方法总结--例子就是真理的主要内容,如果未能解决你的问题,请参考以下文章

初次真理与二次真理

几个关于js数组方法reduce的经典片段

js数组遍历方法总结

几个关于js数组方法reduce的经典片段

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法