2Dimaus, PHP: if($_POST['ID']) { $db=new db(); $result=$db->execute("SELECT * FORM user WHERE ID=".$_POST['ID']); Ето иънекция наглая. Правильнее будет так: PHP: if($_POST['ID']) { $db=new db(); $id = mysql_real_escape_string($_POST['ID']); $result=$db->execute("SELECT * FORM user WHERE ID='$id');
Помогите(( написал код, суть такая : функция получает текст(число) и ей например из числа 123456 нужно сделать 1<b></b>23 45<i></i>6 тоесть случайным образом натыкать проблелов,тегов с определенным процентом вероятности.. вот код : Прокомментировал почти все,чтоб знали что я хотел добиться в той или инной строке PHP: function rend($strIn){ $array = array ('<b></b>','<i></i>','<html></html>',' ',' ',' '); $chance = 100; //шанс замены в процентах $s = strlen($strIn); echo $s."<br>"; // выводим кол-во символов for($i = 0; $i < $s; $i++){ // в цикле пробегаем нужное кол-во раз if(rand(1,100) <= $chance) { $randd = rand(0,6); // случайно выбираем какой эллемент массива будет вставлен if(intval($strIn[$i])) { // только для цифр $pos = strpos($strIn,$strIn[$i]); // находим позицию этого символа, т.к при предыдущей замене по $i работать нельзя,пояляются лишние вставки if ($pos != false) { // если нашли /////////////////////////////////////////////// $replace = $strIn[$pos].$array[$randd]; // создаем то чем заменим найденный символ $strIn = str_replace($strIn[$pos],$replace,$strIn,$count); // заменяем //////////////////////////////////////////////// } } } } return $strIn; } $s= "123123[code]8626546[/code]"; $source = preg_replace( "#\[code\](.+?)\[/code\]#ies", "rend( '\\1' )", $s ); echo $source; Проблема в том,что заменяет только первое число (и одинаковые с ним две шестерки,три тройки и т.д) , тоесть при первой замене у нас допустим в строке становится не 6 символов а 12 а между уже вставленными тегами нельзя. Уже мозг кипит,но уверен решение под носом лежит(((( просто не тем методом может пошел
-=Zhenek=- PHP: function rend($strIn) { $array = array ('<b></b>','<i></i>','<html></html>',' '); $chance = 100; //шанс замены в процентах $s = strlen($strIn); echo $s."<br>"; // выводим кол-во символов $strOut = ''; for ($i=1;$i<$s;$i++) { if(rand(1,100) > $chance) continue; $ins = $array[array_rand($array)]; $strOut = $ins.$strIn[$s-$i].$strOut; } return $strIn[0].$strOut; } $s= "123123[code]8626546[/code]"; $source = preg_replace( "#\[code\](.+?)\[/code\]#ies", "rend( '\\1' )", $s ); echo $source; Но я бы еще заменил preg_replace с флагом E на preg_replace_callback. Или же сделал регулярку более строгой, то есть принимающей только числа внутри Code:
Загадка для профи. Мне нужна функция, допустим по вызову echo getNum(7); она бы мне вывела 12345677654321. Функция не должна в себя включать никакие while/for
и еще разрешено пользоваться только знаком + и никаким другим( - , *, /), а также аналогичными функциями.
Isis PHP: function getNum($val) { return '12345677654321'; } echo getNum(7); Chaak PHP: function getNum($val) { $val = $val + 1; return '12345677654321'; } echo getNum(7);
Isis, Chaak будьте более точны в написании задания. Мое решение ему не противоречит. Ну хотите можно сложным путем формировать палиндромы из чисел так: PHP: function getNum($val) { return implode('',range(1,$val)+range($val+$val,1)); } echo getNum(7);
Необходимо написать функцию, которая логически(без прямого вывода(echo '1234554321')выводит на экран Без использования каких-либо посторонних функций и операторов. Разрешается пользоваться только операцией сложения, сравнения и функцией вывода.
я бы так сделал PHP: <?php function getNum($count) { return join("", array_merge(range(1, $count), range($count, 1))); } echo getNum(7); ?>
Code: def GetValue(f): mas = ['1','2','3','4','5','6','7','8','9'] count = mas.index(f) new_one = mas[:count] new_one.reverse() return mas[:count+1] + new_one print GetValue('3') #['1', '2', '3', '2', '1'] print GetValue('9') #['1', '2', '3', '4', '5', '6', '7', '8', '9', '8', '7', '6', '5', '4', '3', '2', '1'] ыыы), это для строкового варианта, с цифрами все гораздо легче, range,xrange
Раз нельзя использовать ни присвоения, ни конкатенации строк, то будет так PHP: function getNum($val1, $val2=0) { if ($val1<=$val2) {echo $val1;return;} if ($val2!=0) echo $val2; echo getNum($val1, ++$val2); echo $val2; return; } echo getNum(7); Сейчас окажется что и рекурсия чем-то не угодила. De-visible на пхп как-то не похоже, не находите? И функции использовать нельзя
Code: def Dex(txt): s = "123456789" return s[:s.find(txt)+1]+s[:s.find(txt)][::-1] print Dex('5') #123454321 Без использования функций. =)
Gifts, можно, но сложно. De-Visible, ок, но были использованы сторонние функции... Немного не то. PHP: function aaa($a) { if($a == 6) return; echo $a; aaa($a + 1); echo $a; } aaa(0);
Chaak по заданию в функцию передается не ноль, а 7. Вот только у меня ошибка, что использую прединкремент, сейчас исправлю и получится почти то же что у вас De-visible методы класса - это суть функции
PHP: <?php function aaa($a, $b) { if($a == $b) return; echo $a; aaa($a + 1, $b); echo $a; } aaa(0, 6); ?> Заданием было написать функцию!
а я понял так, что может передаваться любая цифра из диапазона, вообщем я справился без использования сторонних функции. Алгоритм тоже прост.
PHP: <?php function test($a = 1) { if($a == 50) return; for ($i = 0; $i < $a;$i++) echo'.'; echo '<br/>'; test($a + 1); for ($b = 0; $b < ($a + 1);$b++) echo'.'; echo '<br/>.'; } test(); PHP: . .. ... .... ..... ...... ....... ........ ......... .......... ........... ............ ............. .............. ............... ................ ................. .................. ................... .................... ..................... ...................... ....................... ........................ ......................... .......................... ........................... ............................ ............................. .............................. ............................... ................................ ................................. .................................. ................................... .................................... ..................................... ...................................... ....................................... ........................................ ......................................... .......................................... ........................................... ............................................ ............................................. .............................................. ............................................... ................................................ ................................................. .................................................. .................................................. ................................................. ................................................ ............................................... .............................................. ............................................. ............................................ ........................................... .......................................... ......................................... ........................................ ....................................... ...................................... ..................................... .................................... ................................... .................................. ................................. ................................ ............................... .............................. ............................. ............................ ........................... .......................... ......................... ........................ ....................... ...................... ..................... .................... ................... .................. ................. ................ ............... .............. ............. ............ ........... .......... ......... ........ ....... ...... ..... .... ... . Красота!