Find the last element of an array while using a foreach loop in PHP Find the last element of an array while using a foreach loop in PHP php php

Find the last element of an array while using a foreach loop in PHP


It sounds like you want something like this:

$numItems = count($arr);$i = 0;foreach($arr as $key=>$value) {  if(++$i === $numItems) {    echo "last index!";  }}    

That being said, you don't -have- to iterate over an "array" using foreach in php.


You could get the value of the last key of the array using end(array_keys($array)) and compare it to the current key:

$last_key = end(array_keys($array));foreach ($array as $key => $value) {    if ($key == $last_key) {        // last element    } else {        // not last element    }}


Note: This doesn't work because calling next() advances the array pointer, so you're skipping every other element in the loop


why so complicated?

foreach($input as $key => $value) {    $ret .= "$value";    if (next($input)==true) $ret .= ",";}

This will add a , behind every value except the last one!