<?php
// 数组相关的函数
// 1. 排序函数
$arr = array(3,2,9,6,4,1,0);
echo '<pre>';
sort($arr); // 按照值顺序排 不保留下标 重排
// asort($arr); // 按照值顺序排 保留下标
// ksort($arr); // 按照键顺序排
// krsort($arr); // 按照键逆序排
//shuffle($arr);
print_r($arr);
shuffle($arr); // 随机排序
print_r($arr);
// 2. 指针函数
echo '<hr>';
$arr1 = array('wnagyu',15,'hui',5,9,3,1);
echo current($arr1),'<br>'; // 查看当前指针
echo key($arr1),'<br>'; // 查看当前key
echo next($arr1),next($arr1),'<br>'; // 移动指针到下一个
echo prev($arr1),'<br>'; // 移动指针到上一个
echo key($arr1),'<br>';
echo '<pre>';
print_r($arr1);
echo '<hr>';
echo end($arr1),'<br>'; // 重置指针 返回最后一个值
echo reset($arr1),'<br>'; // 重置指针 返回第一个值
// 3. 其他函数
// array_push() 往数组中加入一个元素 (数组后面)
// array_pop() 从数组中取出一个元素 (数组后面)
// array_shift() 从数组中取出一个元素 (数组前面)
// array_unshift() 往数组中加入一个元素 (数组前面)
$arr2 = array('tg',5,'po',1,3,9,12,56);
// 模拟数据结构
// 栈 先进后出
array_push($arr2,45);
echo '<pre>';
print_r($arr2);
array_pop($arr2);
echo '<pre>';
print_r($arr2);
// 队列 先进先出
// array_push() 后进 array_shift() 先出
// array_unshift() 前进 array_pop() 后出
$arr3 = [1,3,6,9,15,8];
echo '<pre>';
print_r(array_reverse($arr3)); // 反转数组
var_dump(in_array(1,$arr3)); // 查找值是否存在于数组中,返回true/false
var_dump(in_array(123,$arr3));
print_r(array_keys($arr3)); // 返回下标 数组
print_r(array_values($arr3));// 返回值 数组