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

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

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

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

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

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

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

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

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

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

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

实例1:

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

输出:

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

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

实例2:

<?PHPheader("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;?>

输出:

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

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

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

<?PHPheader("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;?>

输出:

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

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

以上是内存溢出为你收集整理的PHP数组学习之第一/最后一个元素的获取(二)全部内容,希望文章能够帮你解决PHP数组学习之第一/最后一个元素的获取(二)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1152389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存