数组函数20140905study
来源:互联网 发布:淘宝网官方客服电话 编辑:程序博客网 时间:2024/05/22 17:43
//今日内容
<?php/*1、array_column --返回数组中指定的一列。(本函数要求PHP>5.5)array array_column ( array $input , mixed $column_key [, mixed $index_key ] )array_column() 返回input数组中键值为column_key的列, 如果指定了可选参数index_key,那么input数组中的这一列的值将作为返回数组中对应值的键。*///Example/*$records = array( array( 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe', ), array( 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', ), array( 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones', ), array( 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe', ));$rs=array_column($records,'first_name','id');print_r($rs);结果:Array( [2135] => Doe [3245] => Smith [5342] => Jones [5623] => Doe)*///-----------------------------------------------------------------------------/*// 2、array_change_key_case(array $arr,[, int $case = CASE_LOWER ])//返回一个键全是小写或者全是大写的数组;如果输入值(input)不是一个数组,那么返回FALSE$input_array = array("FirSt" => 1, "SecOnd" => 4);// print_r(array_change_key_case($input_array));// 输出:Array ( [first] => 1 [second] => 4 )print_r(array_change_key_case($input_array,CASE_UPPER));//输出:Array ( [FIRST] => 1 [SECOND] => 4 )*///------------------------------------------------------------------------------------/*//3、array_chunk---将一个数组分割为多个//array array_chunk ( array $input , int $size [, bool $preserve_keys = false ] )//preserve_keys//设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是 FALSE。$input_array = array('a', 'b', 'c', 'd', 'e');print_r(array_chunk($input_array, 2));输出:Array( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e ))print_r(array_chunk($input_array, 2, true));输出:Array( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [2] => c [3] => d ) [2] => Array ( [4] => e ))*///---------------------------------------------------------------------/*4、array_combine --创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值array array_combine ( array $keys , array $values )返回一个 array,用来自 keys 数组的值作为键名,来自 values 数组的值作为相应的值。$a = array('green', 'red', 'yellow');$b = array('avocado', 'apple', 'banana');$c = array_combine($a, $b);print_r($c);结果:Array( [green] => avocado [red] => apple [yellow] => banana)*///----------------------------------------------------------------------------/*//5、array_count_values()--统计数组中所有的值出现的次数//array array_count_values ( array $input )返回一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值。$array = array(1, "hello", 1, "world", "hello");print_r(array_count_values($array));输出:Array( [1] => 2 [hello] => 2 [world] => 1)*///---------------------------------------------------------------------------/*//6、array_fill_keys--使用指定的键和值填充数组//array array_fill_keys ( array $keys , mixed $value )//使用 value 参数的值作为值,使用 keys 数组的值作为键来填充一个数组。$keys = array('foo', 5, 10, 'bar');$a = array_fill_keys($keys, 'banana');print_r($a);输出:Array( [foo] => banana [5] => banana [10] => banana [bar] => banana)*///----------------------------------------------------------------------------/*// 7、array_fill --用给定的值填充数组// array array_fill ( int $start_index , int $num , mixed $value )// array_fill() 用 value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始。// start_index// 返回的数组的第一个索引值。// 如果 start_index 是负数, 那么返回的数组的第一个索引将会是 start_index ,而后面索引则从0开始。 // num// 插入元素的数量。 必须大于 0。// value// 用来填充的值。$a = array_fill(5, 6, 'banana');$b = array_fill(-2, 4, 'pear');print_r($a);print_r($b);结果:Array( [5] => banana [6] => banana [7] => banana [8] => banana [9] => banana [10] => banana)Array( [-2] => pear [0] => pear [1] => pear [2] => pear)*///----------------------------------------------------------------/*//8、array_filter--用回调函数过滤数组中的单元//array array_filter ( array $input [, callable $callback = "" ] )//依次将 input 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。function odd($var){ // returns whether the input integer is odd return($var & 1);}function even($var){ // returns whether the input integer is even return(!($var & 1));}$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);$array2 = array(6, 7, 8, 9, 10, 11, 12);echo "Odd :\n";print_r(array_filter($array1, "odd"));echo "Even:\n";print_r(array_filter($array2, "even"));结果:Odd :Array( [a] => 1 [c] => 3 [e] => 5)Even:Array( [0] => 6 [2] => 8 [4] => 10 [6] => 12)*///-----------------------------------------------------------------/*// 9、array_flip--交换数组中的键和值// array array_flip ( array $trans )// array_flip() 返回一个反转后的 array,例如 trans 中的键名变成了值,而 trans 中的值成了键名。//如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。$trans = array("a" => 1, "b" => 2, "c" => 3);$trans = array_flip($trans);print_r($trans);*///------------------------------------------------------/*// 10、array_key_exists — 检查给定的键名或索引是否存在于数组中// bool array_key_exists ( mixed $key , array $search )// array_key_exists() 在给定的 key 存在于数组中时返回 TRUE。key 可以是任何能作为数组索引的值。array_key_exists() 也可用于对象。$search_array = array('first' => 1, 'second' => 4);if (array_key_exists('first', $search_array)) { echo "The 'first' element is in the array";}*/?>
0 0
- 数组函数20140905study
- 数组函数20140906study
- 数组函数20140908study
- 数组函数20140909study
- java study 03day--函数及数组
- 数组 study tips
- jsp study 6 函数
- study c(vc中测试过)——数组和函数,变量范围
- C Language Study - 柔性数组
- Study JavaScript《数组Array用法》
- React study (三)事件函数
- java study 04day-数组排序
- java study 04day--二维数组
- study
- study
- study
- study
- STUDY
- 牢骚
- Java中的阻塞和非阻塞IO包各自的优劣思考
- Java线程:线程栈模型与线程的变量
- 【数据结构与算法】java链表操作
- 目前配过的规模最大的HDFS
- 数组函数20140905study
- 友善之臂—arm-6410 u-boot linux内核,文件系统移植
- [数位dp] hdu 4734 F(x)
- jQuery经典面试题及答案精选(复制于码农网)
- 两个点已知一个点的方向,判断另一个点在这个的方位(左前/右后)
- C++接口使用简析
- 模拟实现可变分区存储管理(其他几个算法)
- 在Xcode中使用Git进行源码版本控制
- Project facet Java version 1.7 is not supported.