php 移动操作数组函数
下面的几个主要是移动数组指针和压入弹出数组元素的和个函数。
函数 | 功能 |
---|---|
array_shift | 弹出数组中的第一个元素 |
array_unshift | 在数组的开始处压入元素 |
array_push | 向数组的末尾处压入元素 |
array_pop | 弹出数组末尾的最后一个元素 |
current | 读出指针当前位置的值 |
key | 读出指针当前位置的键 |
next | 指针向下移 |
prev | 向上移 |
reset | 指针到开始处 |
end | 指针到结束处 |
array_shift
mixed array_shift ( array &$array )
功能:弹出数组中的第一个元素
<?php
$mingren = array("邓超", "黄晓明", "宁泽涛", "钟汉良");
$dc = array_shift($mingren);
echo $dc .'<br />';
print_r($mingren);
?>
执行结果:
结论:
1.将第一个数组元素弹出,改变了原数组的结果
2.弹出的值赋值给了$dc
array_unshift
int array_unshift ( array &值1 [, mixed $... ] )
功能:向指数组的开始处压入一个或多个元素,返回的是总个数。
<?php
$mingren = array("邓超", "黄晓明");
$dc = array_unshift($mingren , "宁泽涛", "钟汉良");
echo $dc .'<br />';
print_r($mingren);
?>
执行结果如下:
array_pop
mixed array_pop ( array &$array )
功能:弹出数组末尾的一个元素
<?php
$mingren = array("邓超", "黄晓明", "宁泽涛", "钟汉良");
$dc = array_pop($mingren);
echo $dc .'<br />';
print_r($mingren);
?>
执行结果:
array_push
int array_push ( array &value1 [, mixed $... ] )
功能:向指数组末尾处压入一个或多个元素,返回的是总个数。
<?php
$mingren = array("邓超", "黄晓明");
$dc = array_push($mingren , "宁泽涛", "钟汉良");
echo $dc .'<br />';
print_r($mingren);
?>
执行结果:
current,key,prev,next,reset 功能演示
这几个函数功能已经说的很清楚了。我们通过代码来进行演示:
<?php
$t=array(
'我们',
'yy'=>'永远',
'dbg'=>'需要不断奋进',
'djn'=>'才能开创未来'
);
//读取数组的值
echo current($t).'<br />';
//读取数组的键
echo key($t).'<br />';
//向后移动一下
next($t);
//再读值和键
echo current($t).'<br />';
echo key($t).'<br />';
//向后移动一下
next($t);
echo current($t).'<br />';
echo key($t).'<br />';
//向前移动一下
prev($t);
echo current($t).'<br />';
echo key($t).'<br />';
//移到末尾
end($t);
echo current($t).'<br />';
echo key($t).'<br />';
//移至开始处
reset($t);
echo current($t).'<br />';
echo key($t).'<br />';
//销毁数组
unset($t);
var_dump($t);
?>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通