Обратный порядок слов в предложении без использования встроенных функций - PullRequest
2 голосов
/ 28 марта 2012

У меня было интервью, и вопрос, который кажется очень простым, не приходил мне в голову. Просто хочу получить ответ за это, потому что много пытался и не смог найти решение.

Я должен написать предложение в противоположность, как

input => My Name Is Junaid
output => Junaid Is Name My

Не следует использовать ЛЮБУЮ встроенную функцию PHP

Спасибо

EDIT

Я так и сделал

$string = "My Name Is Junaid";
$len = strlen($string);
for($i=$len; $i > 0; $i--){
    echo $string[$i-1];
}

результат

dianuJ sI emaN yM

нужно еще немного подправить

Ответы [ 11 ]

0 голосов
/ 28 марта 2012

Итерация от конца к сквозным входным символам с помощью символов (с []) в поисках пробелов (или любых белых символов)Если найден, сохраните позицию.Когда найден второй, добавьте символы между двумя позициями к выходу.По крайней мере, strlen вам понадобится, если вы можете использовать также substr:

<?php
$input = "My Name Is Junaid";
$output = "";
$lastpos = strlen($input);
for ($i = strlen($input) - 1; $i >= 0; $i--) {
  if ($input[$i] == ' ') {
    if (strlen($output) > 0) $output .= ' ';
    $output .= substr($input, $i + 1, $lastpos - $i);
    $lastpos = $i;
  }
}
echo $output;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...