<?php
//操作array的函数
$arr = ['12','46','12','荣德胜','Redis'];
$re = array_keys($arr); //获得数组的键名
print_r($re);
//Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 )
$re = array_values($arr); //获得数组的值
print_r($re);
//Array ( [0] => 12 [1] => 46 [2] => 12 [3] => 荣德胜 [4] => Redis )
$re = array_flip($arr); //数组中的值与键名互换(如果有重复前面的会被后面的覆盖)
print_r($re);
//Array
//(
// [12] => 2
// [46] => 1
// [荣德胜] => 3
// [Redis] => 4
//)
$re = in_array('12', $arr);
var_dump($re); //在数组中检索apple
//bool(true)
$re = array_search('46f', $arr); //在数组中检索apple ,如果存在返回键名
echo $re; //如有重复,则返回第一次查到的键
$re = array_key_exists(1, $arr); //检索是否存在查询的键名, 返回值bool
var_dump($re);
$re = isset($arr[6]); //检索是否存在查询的键名, 返回值bool
var_dump($re);
//数组的内部指针
$re = current($arr); //返回数组中的当前单元
echo $re;
$re = pos($arr);
echo $re;
$re = key($arr);
echo $re;
$re = prev($arr);
echo $re,"<br>";
//数组的分段和填充
//数组分段
$re = array_slice($arr, 0, 2); //数组的分段,最后一个参数是几就分几段
print_r($re);
//分割多个数组
$re = array_chunk($arr, 2,TRUE); //第二参数 分割单元的个数, TRUE保留键名
print_r($re);
//数组的填充
$re = array_pad($arr, 10, 'x'); //讲一个数组填补到制定长度
//print_r($re);
//数组与栈
$re = array_push($arr,'new1','new2','new3','new4'); //将一个或多个元素压入数组栈的末尾(入栈),返回入栈元素的个数
print_r($re);
$re = array_pop($arr); //将数组栈的最后一个元素弹出(出栈)
print_r($re);
//数组与列队
$re = array_shift($arr); //数组中的第一个元素移出并作为结果返回(数组长度减1,其他元素向前移动一位,数字键名改为从零技术,文字键名不变)
print_r($re);
$re = array_unshift($arr,"first",array(1,2),"first2"); //在数组的开头插入一个或多个元素
print_r($re);
//数组的排序
sort($arr); //从小到大
rsort($arr); //从大到小
//shuffle($arr); //随机打乱
echo "<hr>";
$array2 = ['12'];
//数组的差集
$re = array_diff($arr, $array2);
var_dump($re);
//$re = array_values($arr);
//print_r($re);