[align=left]
// 1、新建一个数组
$array = array(1, 1, 8 => 1,  4 => 1, 19, 3 => 13);
print_r($array);
echo "<br />";

//2、array array_change_key_case ( array $input [, int $case ] )
// 数组的键名全部改为小写或者大写CASE_UPPER 和 CASE_LOWER
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));



//3、array array_chunk ( array $input , int $size [, bool $preserve_keys ] )
//将一个数组分成多个数组
//$preserve_keys 将可选参数 preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));


//4、array_combine( array $keys , array $values )
//创建一个数组 将一个数组的值作为另一个数组的键名 另一个数组的值作为值
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);
print_r($c);


//5、array_count_values(array $input) 
//统计数组中所有的值出现的次数
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values ($array));


//6、array_diff(array $array1 , array $array2 [, array $ ... ])
//该数组包括了所有在 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
) //大索引检查计算数组的差集
//7、array_diff_assoc(array  $array1,array $array2[, array $...])
//和array_diff()不同的是键名也用户比较

//8、array_diff_key 使用键名比较计算数组的差集
$array1 = array('blue'  => 1, 'red'  => 2, 'green'  => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan'   => 8);
var_dump(array_diff_key($array1, $array2));

//9、array_fill(int $start_index,int $num, mixed $value) 
//用给定的值填充数组
//value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始。注意 num 必须是一个大于零的数值
$a = array_fill(5, 6, 'wbin');
print_r($a);

//10、array_filp(array $trans) 交换数组的的键和值


//11、array_intersect(array $array1,array $array2 [, array $ ... ])
//计算数组中的交集

//12、array_intersect_assoc (array $array1,array $array2 [, array $ ... ])
//带索引检测数组的交集
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result_array = array_intersect_assoc($array1, $array2);

=>
Array
(
    [a] => green
)//13、array_intersect_key(array $array1,array $array2 [, array $ ... ])
//使用键名比较计算数组的交集


//14、array_key_exists(mixed $key,array $seach);
//给定的键名检测是否存在数组中


//15、array_keys(array $input  )
//返回数组中所有的键名

//16、array_map(callback $callback ,array $arr1 [,$arr2])
// 返回一个数组 该数组包含了arr1中的所有单元经过callback作用之后的单元

function cube($n)
{
    return($n * $n * $n);
}

$a = array(1, 2, 3, 4, 5);
$b = array_map("cube", $a);
print_r($b);
=>
/*
Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)
*/
//17、array_merge($array1,array $array2 [, array $ ... ])
//合并一个或多个数组

//18、array_merge_recursive(array $array1[, array $ ... ] )
//将一个或多个数组的单元合并起来


//19、array_multisort(array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )
//对多个数据或多维数组进行排序


//20、array_pad() 用值讲数组填补到制定长度
//array array_pad ( array $input , int $pad_size , mixed $pad_value )
$input = array(12, 10, 9);
$result = array_pad($input, 5, 0);
// result is array(12, 10, 9, 0, 0)
$result = array_pad($input, -7, -1);
// result is array(-1, -1, -1, -1, 12, 10, 9)


//21、array_pop($array)
//将数组中的最后一个单元弹出
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
//22、array_product 计算数组中所有值的积
$a = array(2, 4, 6, 8);
echo "product(a) = " . array_product($a) . "\n";


//23、array_push 讲一个或多个单元压入到数组末尾
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);

//24、从数组中取出一个或多个单元
//array_rand(array $input [,int $num_req])
srand((float) microtime() * 10000000);
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
print $input[$rand_keys[0]] . "\n";
print $input[$rand_keys[1]] . "\n"; //25、返回一个单元顺序相反的数组
//array_reverse(array $array [, bool $preserve_keys ])
//preserve_keys 为 TRUE 则保留原来的键名。 
$input  = array("php", 4.0, array("green", "red"));
$result = array_reverse($input);
$result_keyed = array_reverse($input, TRUE);

//26、在数组中搜索给定的值,如果成功则返回相应的键名
//array_search(mixed $needle , array $haystack [, bool $strict ])
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;


//27、array_shift 
//将数组的开头的单元移出数组

//28、array_slice( array $array , int $offset [, int $length [, bool $preserve_keys ]] )
//从数组中取出一段
$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"
//29、number array_sum(array $array)
//计算数组中所有值的和

//30、array_unique(array $array)
//移除数组中重复的值


//31、array_unshift( array &$array , mixed $var [, mixed $... )
//在数组开头插入一个或多个单元
$queue = array("orange", "banana");
array_unshift($queue, "apple", "raspberry");


//32、array_values 返回数组中所有的值
//返回 input 数组中所有的值并给其建立数字索引。
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));[/align]