меняет символы в строке местами

vrazbros

Новичок
меняет символы в строке местами

Народ помогите правильно написать рекурсивную функцию, которая меняет символы в строке местами. Результат работы этой функции необходимо присвоить новой переменной и вывести ее. Функция должна быть рекурсивной!

Те чтобы было
$var =’qwer’; $newvar = pomenat($var); echo $newvar выводит rewq;

У меня выводит только последн букву.

PHP:
<?php
    function reverse($param) {
    	if(strlen($param)!=0) {
    		return $param[strlen($param)-1];			
			$newparam = substr($param, 0, strlen($param)-1);
			reverse($newparam);
    	}
    }	
	$var = 'dftyj';
	$new_var = reverse($var);
?>
 

Deserved

Новичок
PHP:
 function rec($string)
  {
    $len = strlen($string);
    if($len != 0)
    {
      echo $string[$len-1];
      for($i=0;$i<=$len-2; $i++)
      {
        $st.=$string[$i];
      }
      rec($st);
    }
  }
  
  rec("blaaaa");
Держи чувак, палучишь 5
 

vrazbros

Новичок
to Deserved

если в моей функции поменять return на echo, то получим тот же результат, но проблема заключается в том что результат работы функции нужно присвоить др переменной и потом вывести, а не сразу вывести.
 

Dovg

Продвинутый новичок
[off]
Второй случай за сегодня, когда посетители просят сделать за них домашнее задание
[/off]
 

Deserved

Новичок
PHP:
  function rec($string, &$ic)
  {
    $len = strlen($string);
    
    if($len != 0)
    {
      $string[$len-1];
      $ic .= $string[$len-1];
      for($i=0;$i<=$len-2; $i++)
      {
        $st.=$string[$i];
      }
      return rec($st,$ic);
    }
    return $ic;
  }
  
 rec("RAKOM", $ic);
  echo $ic;
 

Baranov_Dron

Новичок
хе интересно только одно, а в каком учебном заведение изучают php. до жути интересно блин!
 

zerkms

TDD infected
Команда форума
Baranov_Dron
чем тебя пхп как ЯП для обучения не устраивает?
 

donflash

Вареник клуба
Baranov_Dron

С минуты на минуту вашу фамилию начнут интерпретировать буквально)
 

Baranov_Dron

Новичок
чёрт ступил) язык программирования)))
Как язык обучения вполне устраивает, был бы у меня в инсте php...
Я ваще приходил бы тока на экзамен, всё сдавал не готовясь... эхх...
Ну да мы С++ учим, тоже не плохо.
Баранов просто псевдоним) фамилия понравилась))
буквально? не. я не баран! бараны это мясо - шашлычок...
 

rotoZOOM

ACM maniac
Ну да мы С++ учим, тоже не плохо.
Это не просто не плохо. Это отлично :)
Deserved Моришь. С такой рекурсией нормальный препод завернет тебя на ремейк.
vrazbros Подумай сам. Вот тебе наводка: первое, что надо сделать в рекурсии - это проверить длину строки, если меньше 2, то вернуть ее же, иначе нужно вернуть строку, состоящую из последнего символа строки + рекурсия с этой строкой без первого и последнего символа + первый символ строки.
Функция ровно 2 строчки.
 

cDLEON

Онанист РНРСlub
Хе =)
Задача хоть и тривиальная, но с рекурсией получается через попу :D
 

rotoZOOM

ACM maniac
cDLEON Да нормально все получается. Как раз препод им дал для тренировки и понимания понятия "рекурсия".
 

zerkms

TDD infected
Команда форума
rotoZOOM
непонятно только, почему тогда не была задана "классическая" задачка с обходом дерева (каталогов)

ну или вычисления факториала (я знаю что его можно считать циклом)
 

rotoZOOM

ACM maniac
zerkms Кто сказал, что не была дана? Наверняка или была дана или это был другой вариант, чего щас гадать. Либо вообще она была разобрана на лекции.
 

Deserved

Новичок
rotoZOOM
Рекурсией называется такая конструкция, при которой функция вызывает саму себя.

А что там препод, думает я себя не мучаю.
 
Сверху