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 &,mixed值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 &array,mixedvalue1 [, 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);
?>
posted @   牛奔  阅读(1043)  评论(0编辑  收藏  举报
编辑推荐:
· 基于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最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示