欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  头条

php常用数组函数(二)

程序员文章站 2022-04-06 21:09:47
...
* 堆栈与队列是最常用的二种数据结构,至于什么是堆栈与队列已超出课程要求

* 大家现在只要知道,堆栈与队列可以快速的在数组二端进行元素的添加与删除操作即可

* 数组的堆栈操作:元素的添加与删除只允许在数组的一端进行

* 一、尾部

* 1. array_push(array, value1[,value2...):入栈,返回新数组数量

* 2. array_pop(array):出栈,弹出最后一个元素,数组长度减1

* 二、头部

* 1. array_unshift(array,value1[,value2...):入栈,返回新数组数量

* 2. array_shift(array):出栈,弹出头部第一个元素,数组长度减1

* 数组的队列操作:元素的添加与删除允许在二端进行

* 一、尾部入队,头部出队

* 1. array_push(array, value1[,value2...):入队,返回新数组数量

* 2. array_shift(array):出队,弹出头部第一个元素,数组长度减1

* 二、头部入队,尾部出队

* 1. array_unshift(array,value1[,value2...):入队,返回新数组数量

* 2. array_pop(array):出队,弹出最后一个元素,数组长度减1

* 注意:

* 1. 添加的元素总是以索引元素方式出现,并且可以同时添加多个

* 2. 删除只能一次弹出一个元素

* 3. 增删操作都会引起数组指针的重置操作reset()

echo '<pre>';
$user = ['id'=>5,'name'=>'peter','gender'=>'male','age'=>30];
print_r($user); //查看数组
echo '<hr color="red">';

//第一、模拟堆栈操作:元素增删仅允许在一端进行

//1. array_push(array, value1[,value2...):尾部入栈,返回新数组数量

echo array_push($user, '','www.php.cn'),'<br>';
print_r($user); //查看新成的数组

//2. array_pop(array):尾部出栈,弹出最后一个元素,数组长度减1

echo array_pop($user),'<br>';
print_r($user); //查看新成的数组

//再从尾部弹出一个元素,已经恢复到原始状态了

echo array_pop($user),'<br>';
print_r($user); //查看新成的数组

//3. array_unshift(array,value1[,value2...):头部入栈,返回新数组数量

echo array_unshift($user, '','www.php.cn'),'<br>';
print_r($user); //查看新成的数组

//4. array_shift(array):头部出栈,弹出头部第一个元素,数组长度减1

echo array_shift($user),'<br>';
print_r($user); //查看新成的数组
echo array_shift($user),'<br>';
print_r($user); //查看新成的数组

//第二: 模拟队列操作: 增删必须在二端进行,不允许在同一端完成

// 1. array_push(array, value1[,value2...):尾部入队,返回新数组数量

echo array_push($user, '','www.php.cn'),'<br>';
print_r($user); //查看新成的数组

// 2. array_shift(array):头部出队,弹出头部第一个元素,数组长度减1

echo array_shift($user),'<br>';  //出队的id=5这个元素,当然返回的只有值5
print_r($user); //查看新成的数组

// 3. array_unshift(array,value1[,value2...):头部入队,返回新数组数量

echo array_unshift($user, '华为','小米'),'<br>';
print_r($user); //查看新成的数组

// 4. array_pop(array):尾部出队,弹出最后一个元素,数组长度减1

echo array_pop($user),'<br>';
print_r($user); //查看新成的数组