сделал код, и решил его сделать функцией, но у меня почемуто невыходит, вот сам код PHP: <?php function sinonym($pizza){ $pieces = explode(" ", $pizza); $is = count($pieces)-1; for ($i=0;$i<=$is;$i++){ $chars = preg_split('//', $pieces[$i], -1, PREG_SPLIT_NO_EMPTY); $count = count($chars); $cup = $count - 3; $con2 = $count-1; $con1 = $count-2; if($count > 5){ $na = $chars[0].$chars[1].$chars[2]; $c = $chars[$con1].$chars[$con2].' '; return $na; $numbers = range(3, $cup); srand((float)microtime() * 1000000); shuffle($numbers); while (list(, $number) = each($numbers)) { return $chars[$number]; } return $c; } else {return $pieces[$i].' ';} } } $content = sinonym('вот такой простенький текст'); echo $content; ?> выводит только вот а должно всю строчку выводить, только немного измененную, вот рабочая версия скрипта PHP: $pizza = sinonym('вот такой простенький текст'); $pieces = explode(" ", $pizza); $is = count($pieces)-1; for ($i=0;$i<=$is;$i++){ $chars = preg_split('//', $pieces[$i], -1, PREG_SPLIT_NO_EMPTY); $count = count($chars); $cup = $count - 3; $con2 = $count-1; $con1 = $count-2; if($count > 5){ $na = $chars[0].$chars[1].$chars[2]; $c = $chars[$con1].$chars[$con2].' '; return $na; $numbers = range(3, $cup); srand((float)microtime() * 1000000); shuffle($numbers); while (list(, $number) = each($numbers)) { return $chars[$number]; } return $c; } else {return $pieces[$i].' ';} } можно ли его функцией сделать???
аа, понял, а как тогда мне три меременные в функции вывести в одну, там просто цыклами, вот если вместо ретурн оператор echo тогда все правильно выводит, а можно ли както в переменную этот результат вывода сохранить?)
Можно используй конкатенацию строк. Пример PHP: <? $str = 'Welcome '; $str2 = 'to my page'; $all = $str . $str2; #выведет Welcome to my page echo $all; ?>