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

PHP数组学习之第一/最后一个元素的获取(二)

程序员文章站 2022-03-22 23:21:46
...
在之前的文章《PHP数组学习之第一/最后一个元素的获取(一)》中,给大家介绍了获取数组第一个元素和最后一个元素的方法,但这种方法的本质上是将元素取出然后返回,返回的第一个元素和最后一个元素在数组中不存在了。但有时我们只是想获取数组第一个元素和最后一个元素,并不想改变数组,那要怎么做呢?

其实很简单,PHP中内置的函数reset()和end()即可实现。今天我们就来带大家了解一下reset()和end()函数,通过代码实例看看reset()和end()函数如何获取数组第一个元素和最后一个元素。(附:PHP函数之array数组函数视频讲解

PHP中每个数组都有一个内部指针,即数组指针;该指针会指向数组中的某个元素(该元素就是数组的当前元素)。

数组指针默认最初指向数组中的第一个元素,然后通过移动或改变指针的位置,可访问数组中的任意元素。

而reset()和end()函数就可以改变指针位置:

  • reset()函数:可以将数组中的内部指针指向第一个元素,并返回该元素的值。

  • end()函数:可以将数组中的内部指针指向最后一个元素,并返回该元素的值。

下面通过代码实例来具体了解一下。

reset()函数获取数组第一个元素

实例1:

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
var_dump($arr);
//获取数组中的第一个元素
$first = reset($arr);
echo "数组第一个元素:" .$first;
?>

输出:

PHP数组学习之第一/最后一个元素的获取(二)

像这种没有定义键名的数组,输出第一个元素的值时,也可使用“$数组名[0]”的形式获取。

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("香蕉","苹果","梨子","橙子","橘子","榴莲");
var_dump($arr);
//获取并输出数组中的第一个元素
echo "数组第一个元素:" .$arr[0];
?>

实例2:

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("香蕉"=>"3元","苹果"=>"5元","梨子"=>"6元","橙子"=>"4元","橘子"=>"3元","榴莲"=>"23元");
var_dump($arr);
//获取数组中的第一个元素
$first = reset($arr);
echo "数组第一个元素的键名和键值:".key($arr)." ".$first;
?>

输出:

PHP数组学习之第一/最后一个元素的获取(二)

上面代码示例中,我们使用reset($arr)将数组中的内部指针指向第一个元素,那么此时数组的“当前元素”为它的第一个元素“"香蕉"=>"3元"”,所以echo $first会输出“3元”,使用key($arr)获取到的键名为第一个元素的键名“"香蕉"”。

key()函数可以获取数组当前元素的键名,而键值可以使用current()函数返回。

end()函数获取数组最后一个元素

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array("香蕉"=>"3元","苹果"=>"5元","梨子"=>"6元","橙子"=>"4元","橘子"=>"3元","榴莲"=>"23元");
var_dump($arr);
//获取数组中的第一个元素
$last = end($arr);
echo "数组最后一个元素的键名和键值:".key($arr)." ".$last;
?>

输出:

PHP数组学习之第一/最后一个元素的获取(二)

上面代码示例中,我们使用end($arr)将数组中的内部指针指向最后一个元素,那么此时数组的“当前元素”为它的最后一个元素“"榴莲"=>"23元"”,因此echo $last会输出“23元”,key($arr)会返回最后一个元素的键名“"榴莲"”。

推荐:PHP面试题大汇总(收藏)》《php视频教程

以上就是PHP数组学习之第一/最后一个元素的获取(二)的详细内容,更多请关注其它相关文章!