一,array_combine(
a
r
r
1
,
arr1,
arr1,arr2) : //结合两个数组第一个为键,第二个是值,两个数组的元素个数一致
例子:
$arr1=(‘one’,‘tow’,‘three’);
$arr2=array(‘haha’,‘hehe’,‘heihei’);
a
r
r
=
a
r
r
a
y
c
o
m
b
i
n
e
(
arr=array_combine(
arr=arraycombine(arr1,
a
r
r
2
)
;
v
a
r
d
u
m
p
(
arr2); var_dump(
arr2);vardump(arr);
二,array_chunk($arr,length) //将数组拆成二维数组,第一个参数是数组,第二个是每个数组的元素个数。
$arr=array(‘a’=>‘apple’,‘b’=>‘pear’,‘c’,‘d’,‘e’);
r
e
s
u
l
t
=
a
r
r
a
y
c
h
u
n
k
(
result=array_chunk(
result=arraychunk(arr,2);
var_dump(
r
e
s
u
l
t
)
;
三
,
a
r
r
a
y
c
o
u
n
t
v
a
l
u
e
s
(
result); 三,array_count_values(
result);三,arraycountvalues(arr) //统计数组中各个值出现的次数
i
n
p
u
t
a
r
r
a
y
=
a
r
r
a
y
(
"
a
"
=
>
"
a
p
p
l
e
"
,
"
b
"
=
>
"
b
l
u
e
"
,
"
c
"
,
"
d
"
,
"
e
"
)
;
p
r
i
n
t
r
(
a
r
r
a
y
c
o
u
n
t
v
a
l
u
e
s
(
input_array = array("a"=>"apple","b"=>"blue","c","d","e"); print_r(array_count_values(
inputarray=array("a"=>"apple","b"=>"blue","c","d","e");printr(arraycountvalues(input_array));
四,array_diff(
a
r
r
1
,
arr1,
arr1,arr2) //去除arr1中等于arr2存在值
$arr1=array(‘a’,‘b’,‘c’,‘d’);
$arr2=array(‘c’,‘d’,‘e’);
r
e
s
u
l
t
=
a
r
r
a
y
d
i
f
f
(
result=array_diff(
result=arraydiff(arr1,
a
r
r
2
)
;
v
a
r
d
u
m
p
(
arr2); var_dump(
arr2);vardump(result);
五,array_map(
f
u
n
c
t
i
o
n
n
a
m
e
,
functionname,
functionname,arr) //将数组arr中的元素作为参数执行functionname函数
function test($i){
return
i
∗
i*
i∗i;
}
$arr=array(2,4,6,8);
r
e
s
u
l
t
=
a
r
r
a
y
m
a
p
(
′
t
e
s
t
′
,
result=array_map('test',
result=arraymap(′test′,arr);
var_dump(
r
e
s
u
l
t
)
;
六
,
a
r
r
a
y
m
e
r
g
e
(
result); 六,array_merge(
result);六,arraymerge(arr1,
a
r
r
2
)
a
r
r
a
y
m
e
r
g
e
r
e
c
u
r
s
i
v
e
(
arr2) array_merge_recursive(
arr2)arraymergerecursive(arr1,
a
r
r
2
)
注
意
:
对
比
一
下
arr2) 注意:对比一下
arr2)注意:对比一下arr1+
a
r
r
2
/
/
功
能
:
合
并
一
个
或
多
个
数
组
/
/
说
明
:
a
r
r
a
y
m
e
r
g
e
(
)
如
果
后
面
有
键
名
相
同
的
会
覆
盖
掉
前
面
的
内
容
,
键
名
为
数
字
的
会
添
加
到
后
面
/
/
a
r
r
a
y
m
e
r
g
e
r
e
c
u
r
s
i
v
e
(
arr2 //功能:合并一个或多个数组 //说明:array_merge()如果后面有键名相同的会覆盖掉前面的内容,键名为数字的会添加到后面 //array_merge_recursive(
arr2//功能:合并一个或多个数组//说明:arraymerge()如果后面有键名相同的会覆盖掉前面的内容,键名为数字的会添加到后面//arraymergerecursive(arr1,$arr2) 如果键名相同会形成二维数组
$array1 = array(“color”=>“red”,2,4);
$array2 = array(“a”,“b”,“color”=>“green”,“shape”=>“trapezoid”,4);
r
e
s
u
l
t
1
=
a
r
r
a
y
m
e
r
g
e
(
result1 = array_merge(
result1=arraymerge(array1,$array2);
r
e
s
u
l
t
2
=
a
r
r
a
y
m
e
r
g
e
r
e
c
u
r
s
i
v
e
(
result2 = array_merge_recursive(
result2=arraymergerecursive(array1,
a
r
r
a
y
2
)
;
p
r
i
n
t
r
(
array2); print_r(
array2);printr(result1);
print_r(
r
e
s
u
l
t
2
)
;
七
,
a
r
r
a
y
p
o
p
(
result2); 七,array_pop(
result2);七,arraypop(arr) 出栈 array_push(
a
r
r
)
入
栈
/
/
相
当
于
j
a
v
a
的
栈
八
,
a
r
r
a
y
r
a
n
d
(
arr) 入栈 //相当于java的栈 八,array_rand(
arr)入栈//相当于java的栈八,arrayrand(arr,$number)//获取随机的键名 第一个参数是数组,第二个参数是随机获取的个数
$input = array(“orange”,“banana”,“apple”,“red”,“blue”);
r
a
n
d
=
a
r
r
a
y
r
a
n
d
(
rand=array_rand(
rand=arrayrand(input,2);
var_dump(
r
a
n
d
)
;
九
,
a
r
r
a
y
s
e
a
r
c
h
(
rand); 九,array_search(
rand);九,arraysearch(temp,$arr) //查询数组中的内容,返回键值,如果有多个匹配,返回第一个匹配的内容 如果没有返回false
$array = array(“blue”=>“b”,“red”=>“b”,“green”,“r”);
$key = array_search(‘b’,
a
r
r
a
y
)
;
v
a
r
d
u
m
p
(
array); var_dump(
array);vardump(key);
十,array_shift() //功能:移除开头的元素,与array_pop相反
十一,list()//功能:将数组中的信息赋值给多个变量
i
n
f
o
=
a
r
r
a
y
(
"
r
e
d
"
,
"
b
l
u
e
"
,
"
g
r
e
e
n
"
)
;
l
i
s
t
(
info = array("red","blue","green"); list(
info=array("red","blue","green");list(flag,
s
k
y
,
sky,
sky,grassland) =
i
n
f
o
;
e
c
h
o
"
info; echo "
info;echo"flag,
s
k
y
,
sky,
sky,grassland";
十二,extract() // 将数组分割 键为变量名 值为变量的值
$userInfo = array(
‘userId’ => 123,
‘cityId’ => 456,
);
r
e
s
u
l
t
=
e
x
t
r
a
c
t
(
result=extract(
result=extract(userInfo); //必须是关联数组
var_dump(
u
s
e
r
I
d
)
;
v
a
r
d
u
m
p
(
userId); var_dump(
userId);vardump(cityId);
还有很多PHP函数建议多看一些PHP数组函数https://www.kancloud.cn/shaoguan/phpfunction/382706
php常见的数组函数的总结
最新推荐文章于 2021-03-11 10:51:15 发布