<?php
1.array_change_key_case() 返回其键均为大写或小写的数组
$age=array("nl"=>"35","fs"=>"98","hg"=>"60");
// CASE_UPPER - 将数组的键转换为大写字母。
$ages = (array_change_key_case($age,CASE_UPPER));
printf('<pre>%s</pre><hr>', print_r($ages, true));
//CASE_LOWER - 默认值。将数组的键转换为小写字母
$ages = (array_change_key_case($age,CASE_LOWER));
printf('<pre>%s</pre><hr>', print_r($ages, true));
2.array_chunk() 把一个数组分割为新的数组块。
$cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel");
//下面括号里面写3 就是3个内容分一个数组块 写2就是2个内容为一个数组块 3后面加true - 保留原始数组中的键名。
$carss = array_chunk($cars,3);
printf('<pre>%s</pre><hr>', print_r($carss, true));
3.array_column() 返回输入数组中某个单一列的值。
// 可能从数据库中返回数组
$a = array(
array(
'id' => 5698,
'first_name' => 'Peter',
'last_name' => 'Griffin',
),
array(
'id' => 4767,
'first_name' => 'Ben',
'last_name' => 'Smith',
),
array(
'id' => 3809,
'first_name' => 'Joe',
'last_name' => 'Doe',
)
);
// $a为原始内容 last_name是要显示的键名
$last_names = array_column($a, 'last_name');
printf('<pre>%s</pre><hr>', print_r($last_names, true));
4.array_combine() 通过合并两个数组(一个为键名数组,一个为键值数组)来创建一个新数组。
$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");
//第一个为键名数组,第二个为键值
$c=array_combine($fname,$age);
printf('<pre>%s</pre><hr>', print_r($c, true));
5.array_fill() 用给定的键值填充数组。
// 第一个参数为起始值 第二个参数为填充数量 第三个参数为填充内容
$a1=array_fill(2,5,"blue");
printf('<pre>%s</pre><hr>', print_r($a1, true));
6.array_fill_keys() 用给定的指定键名的键值填充数组。
$keys=array("a","b","c","d");
// 上面的数组为键值 下面第一个为原始内容 第二个为附给的内容
$a1=array_fill_keys($keys,"blue");
printf('<pre>%s</pre><hr>', print_r($a1, true));
7.array_key_exists()检查指定的键名是否存在于数组中。
$a=array("Volvo"=>"XC90","BMW"=>"X5");
if (array_key_exists("Volvo",$a))
{
//检测Volvo是否存在变量a中 存在则返回存在
echo "存在";
}
else
{
// 不存在则返回不存在
echo "不存在";
}
echo '<hr>';
8.array_keys() 返回数组中所有的键名。
$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
$as = (array_keys($a));
printf('<pre>%s</pre><hr>', print_r($as, true));
9.array_merge() 把一个或多个数组合并为一个数组。
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
// 重复的键名会被后面的覆盖
$a12 = (array_merge($a1,$a2));
printf('<pre>%s</pre><hr>', print_r($a12, true));
10.array_unique() 删除数组中重复的值。
$a=array("a"=>"red","b"=>"green","c"=>"red");
$as = (array_unique($a));
printf('<pre>%s</pre><hr>', print_r($as, true));
11.array_filter(): 用回调过滤数组中的单元,返回计算结果为true的元素组成的数组
$arr = [150, 'php',true,[4,5,6], (new class {}), [], null, false, '', 0, '0'];
$res = array_filter($arr,function($item){
return $item;
});
printf('<pre>%s</pre><hr>', print_r($res, true));
12.array_map() 将用户自定义函数作用到给定数组的每个值上,返回新的值。
function myfunction($v)
{
return($v+$v);
}
$a=array(1,2,3,4,5);
$aa = (array_map("myfunction",$a));
printf('<pre>%s</pre><hr>', print_r($aa, true));
// array_map(): 同时处理多个数组
$key = ['user', 'password'];
$values = ['admin', '123456'];
$res = array_map(function($value1, $value2) {
return [$value1 => $value2];
}, $key, $values);
printf('<pre>%s</pre><hr>', print_r($res, true));
echo $res[2]['password'];
echo '<hr>';
13.array_reduce() 通过使用用户自定义函数,迭代地将数组简化为一个字符串,并返回。
function myfunction2($v1,$v2)
{
return $v1 . "<hr>下一个" . $v2;
}
$a=array("小明","小张","小王","小李");
print_r(array_reduce($a,"myfunction2")."<hr>");
14.array_walk() 对数组中的每个成员应用用户函数。
function myfunction3($value,$key)
{
echo "键名 $key 键值 $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction3");
echo '<hr>';
15.array_slice()返回数组中的选定部分。
$a=array("苹果","香蕉","橘子","榴莲","西瓜");
//第一个为原始数据 第二个是起始位置 第三个是选定几个
print_r(array_slice($a,2,2));
echo '<hr>';
16.array_splice() 把数组中的指定元素去掉并用其它值取代。
$a1=array("a"=>"苹果","b"=>"香蕉","c"=>"橘子","d"=>"榴莲");
//这里把a替换成苹果手机 b替换成香蕉手机 c删除
$a2=array("a"=>"苹果手机","b"=>"香蕉手机","c"=>"");
//下面 第一个为原始数据 2是起始位置 3是替换数量 4是替换内容
array_splice($a1,0,3,$a2);
printf('<pre>%s</pre><hr>', print_r($a1, true));