//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);
转载于:https://blog.51cto.com/10130617/1886558