搜索
首页php教程PHP开发摘自PHP手册[9] – Array数组函数

简介:本次介绍的是PHP手册中用来对数组进行各种操作的系统函数,可以说数组在PHP中有重要的作用,因此函数也是灰常多,下面天涯把最常用的进行详细说明。

array_change_key_case — 返回字符串键名全为小写或大写的数组




array array_change_key_case ( array $input [, int $case ] )

$case 可为 CASE_UPPER 或 CASE_LOWER(默认)




$phpha = array('Home'=>'http://www.phpha.com', 'Blog'=>'http://blog.phpha.com');
$phpha_upper = array_change_key_case($phpha, CASE_UPPER);
$phpha_lower = array_change_key_case($phpha, CASE_LOWER); //默认情况
print_r($phpha_upper);
print_r($phpha_lower);
?>
//结果:
Array
(
[HOME] => http://www.phpha.com
[BLOG] => http://blog.phpha.com
)
Array
(
[home] => http://www.phpha.com
[blog] => http://blog.phpha.com
)


array_chunk — 将一个数组分割成多个




array array_chunk ( array $input , int $size [, bool $preserve_keys ] )


array_chunk() 将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少几个。得到的数组是一个多维数组中的单元,其索引从零开始。
将可选参数 preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是 FALSE。




$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, TRUE));
?>
//结果:
Array
(
[0] => Array
(
[0] => a
[1] => b
)
 
[1] => Array
(
[0] => c
[1] => d
)
 
[2] => Array
(
[0] => e
)
 
)
Array
(
[0] => Array
(
[0] => a
[1] => b
)
 
[1] => Array
(
[2] => c
[3] => d
)
 
[2] => Array
(
[4] => e
)
 
)


array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值




array array_combine ( array $keys , array $values )


返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。
如果两个数组的单元数不同或者数组为空时返回 FALSE。




$key = array('Home', 'Blog');
$key2 = array('Home', 'Blog', 'BBS');
$phpha = array('http://www.phpha.com', 'http://blog.phpha.com');
$phpha_combine = array_combine($key, $phpha);
$phpha_combine_wrong = array_combine($key2, $phpha);
print_r($phpha_combine);
print_r($phpha_combine_wrong);
?>
//结果:
Array
(
[Home] => http://www.phpha.com
[Blog] => http://blog.phpha.com
)
// 可以看到第二次array_combine()报错了,指出了2个数组的成员数量不相等
Warning: Both parameters should have an equal number of elements in F:\Program Files\PHPNOW\htdocs\index.php on line 31


array_count_values — 统计数组中所有的值出现的次数




array array_count_values ( array $input )


array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值。




$phpha = array('hello', 'world', 'tianya', 'hello', 'world');
$phpha_result = array_count_values($phpha);
print_r($phpha_result);
?>
//结果:
Array
(
[hello] => 2
[world] => 2
[tianya] => 1
)


array_diff — 计算数组的差集
array_diff_key — 使用键名比较计算数组的差集
array_diff_ukey — 用回调函数对键名比较计算数组的差集
array_diff_assoc — 带索引检查计算数组的差集
array_diff_uassoc — 用用户提供的回调函数做索引检查来计算数组的差集




//array_diff() 返回一个数组,该数组包括了所有在array1中
//但是不在任何其它参数数组中的值。注意键名保留不变。
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>
//结果:
Array
(
[1] => blue
)
//本函数和array_diff()相同只除了比较是根据键名而不是值来进行的。
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
print_r(array_diff_key($array1, $array2));
?>
//结果:
Array
(
[red] => 2
[purple] => 4
)
//注意和 array_diff() 不同的是键名也用于比较。
$array1 = array ("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array ("a" => "green", "yellow", "red");
print_r(array_diff_assoc($array1, $array2));
?>
//结果:
Array
(
[b] => brown
[c] => blue
[0] => red
)


array_fill — 用给定的值填充数组
array_fill_keys — Fill an array with values, specifying keys

array_filter — 用回调函数过滤数组中的单元




function func_check($i){
return $i > 3 ? TRUE : FALSE;
}
$array1 = array(2, 3, 5, 6);
$array2 = array(NULL, '', 'hello');
$array3 = array_filter($array1, 'func_check');
$array4 = array_filter($array2);
//函数func_check()用来判断给定的值,返回TRUE或FALSE
//返回TRUE,则$array1中的值则会返回且键名不变,否则被过滤掉
print_r($array3);
//如果没有指定回调函数,则默认过滤掉array2中为等值为FALSE的成员
//进行类型转换。因此本函数常用量顾虑掉数组中的空成员。
print_r($array4);
?>
//结果:
Array
(
[2] => 5
[3] => 6
)
Array
(
[2] => hello
)


array_flip — 交换数组中的键和值




//如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
?>
//结果:
Array
(
[1] => b
[2] => c
)


array_intersect — 计算数组的交集
array_intersect_assoc — 带索引检查计算数组的交集
array_intersect_uassoc — 带索引检查计算数组的交集,用回调函数比较索引
array_intersect_key — 使用键名比较计算数组的交集
array_intersect_ukey — 用回调函数比较键名来计算数组的交集




$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);
?>
//结果:
Array
(
[a] => green
[0] => red
)
//注意array_intersect_assoc()和array_intersect()不同的是键名也用于比较。
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_intersect_assoc($array1, $array2);
print_r($result);
?>
//结果:
Array
(
[a] => green
)

以上就是摘自PHP手册[9] – Array数组函数的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。