<?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));// 返回值 数组