如何检测foreach循环中的第一个和最后一个元素?

pea*_*ove 4 php

我想检测foreach循环中的第一个和最后一个元素:

$path = "monkey/cat/horse";

foreach(explode('/', $path) as $segment) {
   echo $segment;
}
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

first:monkey
last:horse
Run Code Online (Sandbox Code Playgroud)

这是我试图解决它的方式:

$path = "monkey/cat/horse";
$explode = explode('/', $path);

foreach($explode as $segment) {
    if (current($explode) == $segment){
        echo "first:".$segment;
    } echo "<br>";
    if (end($explode) == $segment){
        echo "last:".$segment;
    }
}
Run Code Online (Sandbox Code Playgroud)

但我的结果是:

first:horse
last:horse
Run Code Online (Sandbox Code Playgroud)

Mur*_*san 6

不需要foreach循环,只需使用foreach循环和count.foreach循环返回一个数组.

$path = "monkey/cat/horse";

$arr = explode("/", $path);
$count = count($arr);


foreach($arr as $key => $value){
    if($key == 0) echo "first:".$value;
    elseif($key == ($count - 1)) echo "last:".$value;
}
Run Code Online (Sandbox Code Playgroud)

结果

first:monkey
last:horse
Run Code Online (Sandbox Code Playgroud)