ОБСУЖДЕНИЕ

Задачи по PHP/JS

46 сообщений1 просмотровОткрыта
#1
Здесь выкладываем интересные задачи (не ТЗ под конкретный скрипт) по программированию на PHP/JS.

Каждый желающий сможет выложить свою задачку,решение,совет по оптимизации.
Тема для тех,кому нечего делать или кто хочет подтянуть умения и навыки в кодинге.

Задача 1.

Написать метод (функцию),который будет программно разбивать строку произвольной длинны на N частей и по каждой из частей выведет данные в следующем формате..

Дано (например):

N = 5
Строка - qwertyuiopasdfghjklzxcvbn

Результат:

qwert
qwer
qwe
qw
q

yuiop
yuio
yui
yu
y

asdfg
asdf
asd
as
a

hjklz
hjkl
hjk
hj
h

xcvbn
xcvb
xcv
xc
x

Каждую строчку кода комментировать.
#2
Решено.

$str = "qwertyuiopasdfghjklzxcvbn"; // строка с символами
$len = strlen ($str); // получаем число символов в строке

$n = 5; // шаг
$parts = ceil ($len / $n); // получение частей, на которые мы будем делить строку в зависимости от шага

$content = ""; // строка вывода

for ($part = 0; // начинаем с 0
$part<$parts; // общее кол-во шагов
$part++) {
for ($i = ($part * $n); // первый символ шага (часть * шаг)
$i <= ($part * $n) + $n; // показ символов в зависимости от шага (часть * шаг) + шаг
$i++) {
// обрезка символов
$content.= substr ($str, // вся строка целиком
($part * $n), // от (часть * шаг)
((($part * $n) + $n) - $i)); // до (((часть * шаг) + шаг) - номер отчисления т.е 0, 1, 2, 3, 4 до шага, т.е 5)
$content.= "<br/>";
}
$content.= "<br/>";
}
echo $content;


//

qwert
qwer
qwe
qw
q


yuiop
yuio
yui
yu
y


asdfg
asdf
asd
as
a


hjklz
hjkl
hjk
hj
h


xcvbn
xcvb
xcv
xc
x
#3
3KZO, Исправил несколько ошибок (синтакс) перед выводом,но не правильно,совсем неправильно.
#4
ап
#5
где все кодеры?)
Мой вариант

$N = 9; //части
$st = 'qwertyuiopasdfghjklzxcdfgngflhkjhkljhjkh'; //строка
$l = ceil(strlen($st) / $N); //длинна подстроки

$start = 0; //начальная позиция выборки подстрок
for($i=0; $i<=$l; ++$i) //цикл выборки подстрок
{
$s[$i] = substr($st,$start,$N); //формируем подстроку
echo $s[$i]; //выводим главную подстроку
for($j=0; $j<=strlen($s[$i]); ++$j) //цыкл вывода подстрок главной подстроки
{
echo substr($s[$i],0,'-'.$j.'').'<br>'; //сам вывод
}
$start += $N; //увеличиваем стартовую позицию на N
}
#6
Задача 2.

Написать аналог глобального массива $_POST, используя функцию file_get_contents()
и ее параметр php://
#7
$_POST = ["a"=>1, "b"=>2, "c"=>3];
$post_data = file_get_contents ("php://input");
print_r ($post_data);
#8
Не совсем то,нужно чтоб в него писались те параметры,которые присылают пользователи. Не используя $_POST вообще.
#9
VITAMIN, хз.. я уже не помню.. писал класс реквеста для движка давно, но почему-то в 5.5 на локалке php:// вообще не видит паскуда.
#10
их здесь парочка мб и есть)
#11
3KZO, Да,может быть отключено.
Ты POST запрос на эту страничку отправь,где выведи
echo file_get_contents('php://input');
#12
Задача 3.

Как создать и вывести переменную,имеющую в своем названии разные символы ,к примеру
@ или *,и не вызвать ошибку интерпретатора?
#13
над написать шаблонизатор)
#14
нет,есть встроенный вариант.
#15
VITAMIN, допустим в js там практически любой символ можно написать.. а в пхп хз..
#16
Есть,я тоже не знал).
#17
VITAMIN, eval ("$l@l = '...';");

?
#18
не
#19
Задача 4.

Написать свой метод отправки POST запросов на другие сайты,не используя встроенных или сторонних библиотек (типа cURL).
#20
с авторизацией?)
Страница 1 из 3 · Всего записей: 46