引言对于数组遍历,使用一个 foreach 几乎就完全够用了元素太初怎么做。那么你一般在编写代码的时候,怎么判断是循环的第一个元素,和最后一个元素呢?
本文通过几个示例,展示实现此功能的多种方法元素太初怎么做。
学习时间首先元素太初怎么做,我们使用最直接,最容易想到的办法,使用一个计数器 $i 用于标记当前的索引位置。如果是第一个,则 $i == 0;如果是最后一个,则 $i 等于数组长度减一。代码如下:
$i = 0; $len = count($array); foreach ($array as $item) { if ($i == 0) { // first } else if ($i == $len - 1) { // last } $i++; }
上述代码实现简单直接,但是写的优点太长了,而且也不美观。有没有更优雅一些的方式呢?
我们试着从PHP数组操作函数上着手,内置函数中提供了 reset,用于将指针指向数组的第一个元素;end 函数,将指针指向数组的最后一个元素。下面的代码,就是这样实现的:
foreach($array as $key => $element) { reset($array); if ($key === key($array)) echo \'FIRST ELEMENT!\'; end($array); if ($key === key($array)) echo \'LAST ELEMENT!\'; }
函数 key() 用于获取当前数组指针所指向的索引值。
而 foreach 循环内将元素匹配到 $key => $element 两个变量,$key 存储循环所指向的索引位置。
PHP 的数组操作函数为我们提供了思路,那么当然还可以用 prev 函数,返回前一个元素的值;使用 next 函数,获取下一个元素的值。
这两个函数都是在获取不到元素时返回 false。那么代码就可以这样来写了:
foreach( $items as $item ) { if( !prev( $items ) ) { echo \'First Item\'; } if( !next( $items ) ) { echo \'Last Item\'; } }
写在最后本文通过三种方式实现了定位 foreach 循环体内,第一个元素和最后一个元素的方法。希望大家熟练使用。
Happy coding :_)
我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
检测土壤中所含有的元素含量,怎么做?
检测土壤中所有的元素,这得看是做什么用途,一般农业种植检测常规五项即可,有机质,有效磷等。
但是对于其他建筑或者工厂用地检测的指标就会有所变化,一般有重金属八项和常规45项。
对于纯粹的研究或者好奇想把元素周期表上的所有元素都检测出来,并且定量分析,那就需要多种分析方法和检测仪器一起配合来使用,通常一些重金属,贵金属,及稀土元素用电感耦合等离子体质谱仪和电感耦合等离子体光谱仪来检测,配合不同的溶样方法,如王水溶样,四酸溶样,三酸溶样,强碱融样或者激光剥蚀等等。
一些非金属元素就要用特定的方法了,如卤族元素氟氯溴碘等可以用离子色谱法来检测,氟还可以用氟离子选择电极法,碳氮可以用元素分析仪来检测,碳硫可以用碳硫仪检测,也有其他的滴定燃烧法等等。
砷汞可以用原子荧光光谱法,硅铝铁镁钙钠钾等主量元素和一些重金属元素可以用x射线荧光光谱仪检测,惰性气体就需要特定的检测方法及仪器了,常规的50多种元素,可以去万方或者知网上搜索本人写的五十二元素分析配套方案,仅供参考,仅代表个人的意见和建议,欢迎指教。