Вы можете попробовать использовать функцию array_slice , чтобы добиться того, что вы хотите:
<?php
$alphabet = array("a","b","c","d","e","f","g");
// find the index of the start element in the original array
$index = array_search("d", $alphabet);
// iterate the array from starting point to the end
foreach (array_slice($alphabet, $index) as $value) {
echo $value, ",";
}
// iterate the array from the very beginning to the starting point
foreach (array_slice($alphabet, 0, $index) as $value) {
echo $value, ",";
}