[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP задания для практики
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
Winston
alex12060
Молоток! Классное решение :)
Вот мое
Свернутый текст
function sect($str)
{
$str = preg_split('#([A-ZА-ЯЁ\d][a-zа-яё\d]+)#u', $str, -1, PREG_SPLIT_DELIM_CAPTURE);
$str = array_diff($str, array(''));
$str = implode('_', $str);

return $str;
}

echo sect('helloMyWorld');




Спустя 2 минуты, 59 секунд Winston написал(а):
У кого еще какие варианты ?
Bandicoot
Очень хорошая и полезная тема, в самый раз пошевелить мозгами wink.gif

_____________
Работаю с Уии
Invis1ble
К сожалению, только сейчас наткнулся на эту темку. Мое решение предыдущей задачи:
Свернутый текст
function func($string) {
return preg_replace('#(\p{Ll})(\p{Lu})#u', '$1_$2', $string);
}


_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

kirik
Цитата (Invis1ble @ 17.08.2011 - 18:34)
К сожалению, только сейчас наткнулся на эту темку.

Аналогично :)

Цитата (Winston @ 6.08.2011 - 12:24)
Написать ф-ю которая на вход принимает слитную строку, но каждое слово начинается с заглавной буквы, а на выходе разделить эти слова символом _

решение
echo a('HelloWorld') . "<br />\n"; // Hello_World
echo a('ПриветМойМир'); // Привет_Мой_Мир

function a($str) {
return ltrim(preg_replace('#\p{Lu}#u', '_$0', $str), '_');
}

UPD
даже так:
echo a('HelloWorld') . "\n"; // Hello_World
echo a('ПриветМойМир'); // Привет_Мой_Мир

function a($str) {
return preg_replace('#\B\p{Lu}#u', '_$0', $str);
}
Invis1ble
kirik
С кириллицей твое UPD-решение бажит, потому что \B работает только с символами ASCII :)
echo a('ПриветМойМир'); // _Привет_Мой_Мир


_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

inpost
Могу дать заданиЯ из своей практики, составить sql запросы smile.gif
Давать? smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
alex12060
inpost

Кто угодно может их давать smile.gif
Только при наличии собственного решения.
inpost
Собственное решение? О ужас smile.gif Оно есть, даже на форуме где-то, вот только искать лень smile.gif

Задача такая, есть 3 таблицы, девушки, описание девушек, фотографии девушек.
Надо вывести 5 случайных девушек, с их описанием, и обязательным условием - последняя по добавлению фотография. Все это уместить в 1 красивый запрос smile.gif Примечание: GROUP BY выше по приоритету чем ORDER BY, поэтому просто ORDER BY для фотографий не поможет smile.gif

_____________________

Ещё задача, для тех, кто конкурс пропустил, одним запросом изменить 2 записи из:
ID=1,ORDER=1 и ID=2,ORDER=2
в
ID=1,ORDER=2 и ID=2,ORDER=1
, ORDER - это порядок расположения. По условию известно у нас лишь 1 запись, ID=1, ORDER=1, надо поменять с ближайшей записью местами ORDER.
При этом не обязательно, что вторая запись будет иметь ORDER=2 или ID=2, там может быть ID=5,ORDER=17.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Invis1ble
inpost
для таких задачек нужно прикреплять дампы тестовых таблиц, ИМХО

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

alex12060
inpost

о боже, я помню это biggrin.gif
Даже найду её)
kirik
Цитата (Invis1ble @ 18.08.2011 - 04:34)
С кириллицей твое UPD-решение бажит, потому что \B работает только с символами ASCII smile.gif

Очень странно.. локально у меня всё ОК, а на хостинг залил - там точно с русским трабла.. Версия pcre на локалке 8.10 2010-06-25.

inpost
Более оптимально можно решить задачу с тремя таблицами добавив в основную таблицу поле main_photo_id и джоинить таблицу с фотками по этому полю. Когда фотка добавляется - main_photo_id изменяется на id новой фотки, если фотка удаляется - main_photo_id меняется на id предыдущей фотки, либо 0, если фоток нет. Решать лучше на уровне самой БД (триггер на апдейт)
inpost
kirik
Хорошее решение smile.gif
Но всё же, потренироваться с работой mysql тоже надо smile.gif

Invis1ble
Ты прав. Но я создам кое-что по удобнее, там как раз и выставлю дамб.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Mirexzpalich
Сегодня столкнулся с задачкой
На входе:

$str = "key1%^%key2%^%key3";
$value = "Hello!";

Необходимо получить массив

$array['key1']['key2']['key3'] = "Hello"!;

EVAL не использовать!

_____________
Дорогу осилит идущий...
ApuktaChehov
А в чем беда-то? explode и подстановка результата в ключи массива.

Код в лом писать tongue.gif

_____________
Mirexzpalich
ApuktaChehov
Это не совсем простая задачка. Но и сложностей в ней нет.
Я то решил ее и так и сяк... просто думаю кому интересно будет...

_____________
Дорогу осилит идущий...
Быстрый ответ:

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