您的位置:首页 > 编程语言 > PHP开发

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

2016-12-27 15:42 417 查看
//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 数组 array