php中数组怎么用
admin
2023-06-20 18:21:35
0

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

相关内容

热门资讯

特朗普:不着急与伊朗达成协议,... 美伊谈判来到关键时刻,双方能否达成协议备受全球关注。美国总统特朗普5月27日说,他不急着与伊朗达成协...
新一代网络与存储模组发布,释放... 来源:市场资讯 (来源:华为计算) 【中国,北京,2026年5月23日】鲲鹏昇腾开发者大会2026(...
网络安全人的2026:AI攻击... HSBC CEO在最近一次采访中说了一句话:"不要和AI对抗——银行正在因为AI裁员,也正在被AI攻...
7名科学家获2026年度邵逸夫... 中新社香港5月27日电 (记者 赵静怡)邵逸夫奖基金会27日在香港公布2026年度邵逸夫奖获奖名单,...
跨越式升级!解析Harmony... 2026年4月20日,华为正式发布了HUAWEI Pura X Max、HUAWEI MateBoo...
甘肃天水5G+智慧物流园开启快... 今年,天水5G+智慧物流园项目投入试运行以来,5G智慧分拣配送中心无人分拣设备运行稳定,日均分拣包裹...
禾电迅取得小型化北斗多频卫星天... 国家知识产权局信息显示,深圳市禾电迅科技有限公司取得一项名为“一种小型化北斗多频卫星天线”的专利,授...
特朗普警告盟友阿曼:不守规矩会... 新华社华盛顿5月27日电(记者黄强 徐剑梅)美国总统特朗普27日在白宫举行的内阁会议上说,霍尔木兹海...
4G DTU模块厂家梳理 工业... 导语:在工业物联网场景中,4G DTU模块作为数据传输的核心设备,其稳定性、兼容性及服务响应能力直接...
原创 美... 5月25日,华为在上海丢出了一颗深水炸弹。 半导体业务部总裁何庭波在IEEE国际电路与系统研讨会上,...