Как отобразить элементы массива, разделенные дефисом, в обратном порядке?

У меня есть этот код:

$array = array(1,2,3,4,5,6);

function recursive($array, $index) {
if($index == -1) return;
echo $array[$index]."-";
exit;
recursive($array, $index-1);
}
recursive($array, 5);

Токовый выход:

6-5-4-3-2-1

Ожидаемый результат:

1-2-3-4-5-6

0

Решение

Вы можете получить количество array и рассчитать его начальную позицию.
Вот обновленный код

<?php
$array = array(1,2,3,4,5,6);
$len = count($array);

function recursive($array, $index) {
global $len;

if($index == -1) return;

// Get count then subtract index to get start position
echo $array[$len-1-$index]."-";

recursive($array, $index-1);
}
recursive($array, 5);
?>

Рабочая Демо

0

Другие решения

<?php

$array = array(1, 2, 3, 4, 5, 6);

function recursive($array, $index)
{
if ($index == -1)
return;
echo $array[count($array)-1-$index];
if($index!=0)
echo "-";
recursive($array, $index - 1);
}

recursive($array, 5);
2

echo implode('-', array_reverse($array));
2

Используйте функцию String strrev ();

<?php
echo strrev("6-5-4-3-2-1"); // outputs "1-2-3-4-5-6"?>
0
По вопросам рекламы [email protected]