[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создать из нескольких слов одно
lightstar
Здравствуйте, понадобилась функция которая бы создавала из 2х и более слов одно путем переписывания букв в определенном порядке. Причем длина слов разная.
Примерно вот так:
первое слово: абв
второе слово: гдеж

Результат: агбдвеж



Спустя 54 секунды (19.11.2011 - 13:48) Игорь_Vasinsky написал(а):
ну. отличная идея.
в строковые функции не глядел?

Спустя 30 минут, 24 секунды (19.11.2011 - 14:18) Семён написал(а):
$var1 = 'абв';
$var2 = 'гдеж';
$profit = $var1.$var2;
echo $profit;

Спустя 6 минут, 6 секунд (19.11.2011 - 14:24) lightstar написал(а):
Цитата (Семён @ 19.11.2011 - 11:18)
$var1 = 'абв';
$var2 = 'гдеж';
$profit = $var1.$var2;
echo $profit;

Это конечно прекрасное решение,но не данной задачи...

Спустя 3 минуты, 3 секунды (19.11.2011 - 14:27) Игорь_Vasinsky написал(а):
Цитата
из 2х и более слов одно путем переписывания букв в определенном порядке.


а именно

Цитата
в определенном порядке.


что за порядок?

Спустя 4 минуты, 26 секунд (19.11.2011 - 14:32) lightstar написал(а):
1 буква нового слова - 1 буква первого слова, 2 буква нового слова - 1 буква второго слова
3 буква нового слова - 2 буква первого слова, 4 буква нового слова - 2 буква второго слова
вот как то так

Спустя 53 секунды (19.11.2011 - 14:32) dadli написал(а):
lightstar

как варянт:

$str1 = "abcd";
$str2 = 23458701;
$str3 = "фця";

$str_length = array(mb_strlen($str1,"utf-8"),mb_strlen($str2,"utf-8"),mb_strlen($str3,"utf-8"));

$arr = array();
$i = 0;
while ($i < max($str_length)) {
$newstr = $newstr.mb_substr($str1,$i,1,"utf-8").mb_substr($str2,$i,1,"utf-8").mb_substr($str3,$i,1,"utf-8");
$i = $i + 1;
}

echo $newstr;

Спустя 1 минута, 39 секунд (19.11.2011 - 14:34) Michael написал(а):
str_split разобъет тебе два слова на массивы.
Запускай цикл по большему массиву и поочередно бери буквы из слов. Код не пишу т.к. детский - не интересно.

Спустя 1 час, 56 минут, 14 секунд (19.11.2011 - 16:30) lightstar написал(а):
сделал.
<?php

$aa="абвгд";
$bb="еёжзиклм";

$maxlength=max(strlen($aa),strlen($bb))-1; //максимальная длина строки -1

for ($i = 0; $i <= $maxlength; $i++) {
$eee.=$aa[$i].$bb[$i];
}
echo $eee;

?>


А можно из этого сделать универсальную функцию, чтобы для трех и более слов работало без изменения кода?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.