fork(1) download
  1. <?php
  2. $text = "А роза упала на лапу Азора";
  3. $result='палиндром';
  4.  
  5. $text=mb_strtolower($text);
  6. $text= str_replace(' ', '', $text);//ПОНЯТИЯ НЕ ИМЕЮ КАК ЭТО РАБОТАЕТ, НО ГЛАВНОЕ ЧТО РАБОТАЕТ
  7.  
  8. echo $text;
  9.  
  10. $length=mb_strlen($text);
  11. $halfLength=$length; // НЕ ПОНЯЛ ЗАЧЕМ ТУТ НУЖНА БЫЛА ПОЛОВИНА, ПОЭТОМУ СДЕЛАЛ ТАК
  12.  
  13. $letters = preg_split('//u', $text, null, PREG_SPLIT_NO_EMPTY);//КАК Я ПОНИМАЮ ЭТА ПОЕБЕНЬ СОЗДАЕТ ПУСТЫЕ ЭЛЕМЕНТЫ
  14. $bufhalf=$halfLength;
  15. echo "\n";
  16. for($i=0;$i<=$halfLength;$i++){
  17. $bufhalf=$halfLength-$i-1;//-1 ЭТО УДАЛЕНИЕ ПУСТОГО ЭЛЕМЕНТА, А НА ПОСЛЕДНИЙ ПЛЕВАТЬ
  18. if( $letters[$i]==$letters[$bufhalf]){
  19. echo "YEP! letters=$letters[$i] letters buf=$letters[$bufhalf] \n";
  20. }else echo " NO! letters=$letters[$i] letters buf=$letters[$bufhalf] \n";
  21. }
  22. echo "\n";
  23. echo "Результат: {$result}\n";
Success #stdin #stdout #stderr 0.02s 24836KB
stdin
Standard input is empty
stdout
арозаупаланалапуазора
YEP! letters=а letters buf=а 
YEP! letters=р letters buf=р 
YEP! letters=о letters buf=о 
YEP! letters=з letters buf=з 
YEP! letters=а letters buf=а 
YEP! letters=у letters buf=у 
YEP! letters=п letters buf=п 
YEP! letters=а letters buf=а 
YEP! letters=л letters buf=л 
YEP! letters=а letters buf=а 
YEP! letters=н letters buf=н 
YEP! letters=а letters buf=а 
YEP! letters=л letters buf=л 
YEP! letters=а letters buf=а 
YEP! letters=п letters buf=п 
YEP! letters=у letters buf=у 
YEP! letters=а letters buf=а 
YEP! letters=з letters buf=з 
YEP! letters=о letters buf=о 
YEP! letters=р letters buf=р 
YEP! letters=а letters buf=а 
YEP! letters= letters buf= 

Результат: палиндром
stderr
PHP Notice:  Undefined offset: 21 in /home/rqG3wJ/prog.php on line 20
PHP Notice:  Undefined offset: -1 in /home/rqG3wJ/prog.php on line 20
PHP Notice:  Undefined offset: 21 in /home/rqG3wJ/prog.php on line 21
PHP Notice:  Undefined offset: -1 in /home/rqG3wJ/prog.php on line 21