数组函数20140908study

来源:互联网 发布:怎么用淘宝助理 编辑:程序博客网 时间:2024/05/22 16:05

//今日内容

<?php/*// 1、array_reverse--返回一个单元顺序相反的数组// array array_reverse ( array $array [, bool $preserve_keys = false ] )// array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组。// preserve_keys 如果设置为 TRUE 会保留数字的键。 非数字的键则不受这个设置的影响,总是会被保留。$input  = array("php", 4.0, array("green", "red"));$result = array_reverse($input);$result_keyed = array_reverse($input, true);结果:Array(    [0] => Array        (            [0] => green            [1] => red        )    [1] => 4    [2] => php)Array(    [2] => Array        (            [0] => green            [1] => red        )    [1] => 4    [0] => php)*///--------------------------------------------------------------------------/*// 2、array_search --在数组中搜索给定的值,如果成功则返回相应的键名// mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )// 返回值 // 如果找到了 needle 则返回它的键,否则返回 FALSE。// 如果 needle 在 haystack 中出现不止一次,则返回第一个匹配的键。要返回所有匹配值的键,应该用 array_keys() 加上可选参数 search_value 来代替。$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');$key = array_search('green', $array); // $key = 2;$key = array_search('red', $array);   // $key = 1;*///--------------------------------------------------------------------------/*// 3、array_shift --将数组开头的单元移出数组// mixed array_shift( array &$array )// array_shift() 将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。// 返回值 // 返回移出的值,如果 array 为 空或不是一个数组则返回 NULL。$stack = array("orange", "banana", "apple", "raspberry");$fruit = array_shift($stack);print_r($stack);结果:Array(    [0] => banana    [1] => apple    [2] => raspberry)*///--------------------------------------------------------------------------/*// 4、array_slice --从数组中取出一段// array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )// array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。// array// 输入的数组。// offset// 如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。// length// 如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。// preserve_keys// 注意 array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将 preserve_keys 设为 TRUE 来改变此行为。$input = array("a", "b", "c", "d", "e");$output = array_slice($input, 2);      // returns "c", "d", and "e"$output = array_slice($input, -2, 1);  // returns "d"$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"// note the differences in the array keysprint_r(array_slice($input, 2, -1));print_r(array_slice($input, 2, -1, true));结果:Array(    [0] => c    [1] => d)Array(    [2] => c    [3] => d)*///--------------------------------------------------------------------------/*// 5、array_splice --把数组中的一部分去掉并用其他值取代// array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement ]] )// 把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则用其中的单元取代。// 注意 input 中的数字键名不被保留。$input = array("red", "green", "blue", "yellow");print_r(array_splice($input, 2));结果:Array(    [0] => blue    [1] => yellow)*///--------------------------------------------------------------------------/*// 6、array_sum --计算数组中所有值的和// number array_sum ( array $array )// array_sum() 将数组中的所有值的和以整数或浮点数的结果返回。$a = array(2, 4, 6, 8);echo "sum(a) = " . array_sum($a) . "\n";$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);echo "sum(b) = " . array_sum($b) . "\n";结果:sum(a) = 20sum(b) = 6.9*///--------------------------------------------------------------------------/*// 7、array_unique --移除数组中重复的值// array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )// array_unique() 接受 array 作为输入并返回没有重复值的新数组。// 注意键名保留不变。array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。$input = array("a" => "green", "red", "b" => "green", "blue", "red");$result = array_unique($input);print_r($result);结果:Array(    [a] => green    [0] => red    [1] => blue)*///--------------------------------------------------------------------------/*// 8、array_unshift --在数组开头插入一个或多个单元// int array_unshift ( array &$array , mixed $var [, mixed $... ] )// array_unshift() 将传入的单元插入到 array 数组的开头。注意单元是作为整体被插入的,因此传入单元将保持同样的顺序。所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。$queue = array("orange", "banana");array_unshift($queue, "apple", "raspberry");print_r($queue);结果:Array(    [0] => apple    [1] => raspberry    [2] => orange    [3] => banana)*///--------------------------------------------------------------------------/*// 9、array_values --返回数组中所有的值// array array_values(array $input)// array_values() 返回 input 数组中所有的值并给其建立数字索引。$array = array("size" => "XL", "color" => "gold");print_r(array_values($array));结果:Array(    [0] => XL    [1] => gold)*///--------------------------------------------------------------------------/*// 10、arsort --对数组进行逆向排序并保持索引关系// bool arsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )// 成功时返回 TRUE, 或者在失败时返回 FALSE。$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");arsort($fruits);foreach ($fruits as $key => $val) {    echo "$key = $val\n";}结果:a = oranged = lemonb = bananac = apple*/?>


0 0
原创粉丝点击