//1 将key值大小替换
1
2
3
4
5
|
$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值
1
2
3
4
5
|
$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值
1
2
3
4
5
6
7
|
$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
1
2
3
4
|
$arrCombineOne
=
array
(
'one'
,
'two'
,
'three'
);
$arrCombineTwo
=
array
(
'1'
,
'2'
,
'3'
);
$combine
=
array_combine
(
$arrCombineTwo
,
$arrCombineOne
);
//print_r($combine);
|
//5 返回数组中value 出现的次数
1
2
3
|
$arrValue
=
array
(
'c'
,
'd'
,
'a'
,
'c'
,
'v'
);
$arrcnt
=
array_count_values
(
$arrValue
);
//print_r($arrcnt);
|
//6 比较数组value 的差集 , one和two参数比较,在two数组中的不存在的就是差集 (用one和two去对比, one是被比较的数组)
//如果是多个数组进行比较则是3个数组的差集。(可以比较多个数组)
1
2
3
4
5
|
$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个数组去比较的话,可以先比较俩个数组,然后再用其他数组去比较前俩个数组的差集
1
2
|
$arrAssoc
=
array_diff_assoc
(
$arrDiffOne
,
$arrDiffTwo
,
$arrDiffThree
);
//print_r($arrAssoc);
|
//8 比较数组的key值,原理同上
1
2
3
|
$a4
=
array
(
'd'
=>
'name'
);
$arrKey
=
array_diff_key
(
$arrDiffOne
,
$arrDiffTwo
,
$arrDiffThree
,
$a4
);
//print_r($arrKey);
|
//9 比较数组,但是会比较key (自定义的函数不是很明白, one是被比较的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$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
1
2
3
4
5
6
7
8
9
10
|
function
myDiffKey(
$a
,
$b
)
{
if
(
$a
===
$b
)
{
return
0;
}
return
(
$a
>
$b
)?1:-1;
}
$result
=
array_diff_ukey
(
$uassocOne
,
$uassocTwo
,
"myDiffKey"
);
print_r(
$result
);
|