fork download
  1. <?php
  2.  
  3.  
  4. $text = "А роза упала на лапу Азора";
  5. $result1 = "палиндром";
  6. $result2 = "не палиндром";
  7. $lowerCase = mb_strtolower($text); /*Переводим текст в нижний регистр*/
  8. $withoutSpaces = str_replace(" ","",$lowerCase); /*Убираем пробелы*/
  9. $countCharacters = mb_strlen($withoutSpaces); /*Считаем количество букв в тексте*/
  10. $halfCharactres = $countCharacters / 2; /*Делим количество букв в тексте напополам*/
  11. $roundHalfCharacters = round($halfCharactres); /*Округляем получившуюся половину букв*/
  12.  
  13. $i = 0; /*Начало отсчёта символов*/
  14.  
  15. for ($i = 1; $i < $roundHalfCharacters; $i++) { /*Начинаем цикл. Если проверяемая буква по счёту меньше половины количества букв в тексте, то цикл продолжается*/
  16.  
  17. $i = $i - 1;
  18. $symbolForward = mb_substr($withoutSpaces, $i, 1); /*Получаем символ с начала строки*/
  19. $i = $i + 1;
  20. $symbolBack = mb_substr($withoutSpaces, -$i, 1); /*Получаем символ с конца строки*/
  21.  
  22. $beginningOfTheLine = array();
  23. $beginningOfTheLine["$symbolForward"] = $i;/*Заполняем массив получившимися буквами с начала текста*/
  24. $endingOfTheLine = array();
  25. $endingOfTheLine["$symbolBack"] = $i; /*Заполняем массив получившимися буквами с конца текста*/
  26.  
  27. }
  28.  
  29. if ($beginningOfTheLine == $endingOfTheLine) {
  30. echo "{$result1}\n";
  31. } elseif ($beginningOfTheLine != $endingOfTheLine) {
  32. echo "{$result2}\n";
  33. } else {
  34. echo "Неизвестная ошибка";
  35. }
  36.  
  37. ?>
Success #stdin #stdout 0.02s 52432KB
stdin
Standard input is empty
stdout
палиндром