PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (22): [1] 2 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 329
MAXUS Отправлено: 20 Февраля, 2016 - 22:51:05 • Тема: Разбить текст, по запятым • Форум: Регулярные выражения

Ответов: 2
Просмотров: 356
Няшик пишет:
хотя с рекурсией знаком на среднем уровне Огорчение


До третьего уровня вложенности? Улыбка
MAXUS Отправлено: 20 Февраля, 2016 - 22:46:10 • Тема: Выбор диапозона с учётом другого столбца • Форум: SQL и Архитектура БД

Ответов: 3
Просмотров: 42
Sig пишет:
Здравствуйте не знаю как лучше сделать, таблица 50 мегабайт, хочется что б быстрей работало нужно сделать выборку
при CAT = 5 (CAT_2 > 100 and CAT_2 < 100 ) и при CAT = 30 (CAT_2 > 50 and CAT_2 < 500 )


CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `table` WHERE (`CAT`=5 AND `CAT_2`>100 AND `CAT_2`<1000) OR (`CAT`=30 AND `CAT_2`>50 AND `CAT_2`<500)


Я так понимаю, что в условии ошибка, потому что (CAT_2 > 100 and CAT_2 < 100 ) всегда false, поэтому предположил, что от 100 до 1000.
MAXUS Отправлено: 20 Февраля, 2016 - 22:37:15 • Тема: Перебор массива • Форум: Вопросы новичков

Ответов: 2
Просмотров: 155
Ivan.R пишет:
Здравствуйте, мне необходимо привести многомерный массив к одномерному

PHP:
скопировать код в буфер обмена
  1. //Дано
  2. (
  3.     0 => Array
  4.         (
  5.             'preview' => 'news1'
  6.         ),
  7.  
  8.     1 => Array
  9.         (
  10.             'preview' => 'news2'
  11.         )
  12. );
  13. //Преобразуем
  14. foreach($a as &$b) $b=$b['preview'];
  15. //Выводим-проверяем
MAXUS Отправлено: 20 Февраля, 2016 - 22:13:47 • Тема: Сортировка массива • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 72
chti1955 пишет:
Здравствуйте все!
Ищу помощи в нелёгком вопросе!

PHP:
скопировать код в буфер обмена
  1. //Дано
  2. $a=array(
  3.   0=>array(
  4.     "name"=> "Имя 0",
  5.     "time"=> "2016-02-18 12:45"
  6.   ),
  7.   1=>array(
  8.     "name"=> "Имя 2",
  9.     "time"=> "2016-02-18 12:44"
  10.   ),
  11.   2=>array(
  12.     "name"=> "Имя 1",
  13.     "time"=> "2016-02-18 12:47"
  14.   )
  15. );
  16. //Сортируем
  17. foreach($a as $b) $c[$b['time']]=$b;
  18. ksort($c);
  19. $a=array_values($c);
  20. //Выводим-проверяем
MAXUS Отправлено: 07 Февраля, 2016 - 02:12:56 • Тема: Записать в ячейку БД бесконечность • Форум: Вопросы новичков

Ответов: 4
Просмотров: 273
Вместо бесконечности ставь Null. Тогда условие будет
number>=min AND (number<=max OR max IS NULL).
MAXUS Отправлено: 06 Февраля, 2016 - 08:47:12 • Тема: Цепочка свойств неизвестной длины • Форум: Объектно-ориентированное программирование

Ответов: 12
Просмотров: 2184
Anguis пишет:
Задача в чем. Запросить нужное свойство сначала из объекта пользовательских настроек, если в он в себе такого не содержит, то запросить ту же цепочку из настроек дефолтных. Собсно, в чем беда то?


Если я правильно понимаю, то задача слить 2 json объекта, чтобы при этом пользовательские установки перезаписали дефолтные. В чем проблема?

PHP:
скопировать код в буфер обмена
  1.  
  2. $default=array(
  3.         'name'=>'Banners',
  4.         'group1'=>array(
  5.                 'banner1'=>array(
  6.                         'width'=>240,
  7.                         'height'=>300
  8.                 ),
  9.                 'banner2'=>array(
  10.                         'width'=>240,
  11.                         'height'=>300
  12.                 ),
  13.                 'banner3'=>array(
  14.                         'width'=>240,
  15.                         'height'=>300
  16.                 ),
  17.         ),
  18.         'group2'=>array(
  19.                 'banner1'=>array(
  20.                         'width'=>240,
  21.                         'height'=>300
  22.                 ),
  23.                 'banner2'=>array(
  24.                         'width'=>240,
  25.                         'height'=>300
  26.                 ),
  27.                 'banner3'=>array(
  28.                         'width'=>240,
  29.                         'height'=>300
  30.                 ),
  31.         ),
  32. );
  33. $user=array(
  34.         'name'=>'Баннеры',
  35.         'group1'=>array(
  36.                 'banner1'=>array(
  37.                         'width'=>540,
  38.                         'height'=>500
  39.                 ),
  40.                 'banner2'=>array(
  41.                         'width'=>540,
  42.                         'height'=>500
  43.                 ),
  44.                 'banner3'=>array(
  45.                         'width'=>540,
  46.                         'height'=>500
  47.                 ),
  48.         ),
  49. );
  50. $merged=array_merge($default,$user);
  51. var_dump($merged);
  52.  


name и group1 перезапишется. group2 останется дефолтным. Как гонять из json и обратно - это дело техники. Как превратить итог в объект, дак json_decode по умолчанию сделает объект. А надо массив, поставь true на второй аргумент.
MAXUS Отправлено: 31 Декабря, 2015 - 22:56:24 • Тема: С Новым 2016 годом! • Форум: Прочее

Ответов: 4
Просмотров: 61
Всем удачи!
MAXUS Отправлено: 13 Октября, 2015 - 07:22:48 • Тема: Автоматическая отправка формы • Форум: JavaScript & VBScript

Ответов: 10
Просмотров: 2066
dcc0 пишет:
Верю, что есть готовое.


Это не из Робинзона Крузо цитата? Улыбка
MAXUS Отправлено: 10 Октября, 2015 - 18:20:38 • Тема: Определить абстрактный класс • Форум: Объектно-ориентированное программирование

Ответов: 5
Просмотров: 1304
MiksIr пишет:
http://php.net/manual/en/book.reflection.php


Спасибо.

Про рефлексию знал. Но хотел узнать нет ли более экономичного способа? Останавливал вопрос: насколько Рефлексия дорогая? Если в процессе выполнения скрипта придется много раз выяснять абстрактный класс или нет. Она же создает объект...
MAXUS Отправлено: 10 Октября, 2015 - 18:03:18 • Тема: Определить абстрактный класс • Форум: Объектно-ориентированное программирование

Ответов: 5
Просмотров: 1304
Доброго дня!

Дано: название класса.
Известно: что класс существует.
Задача: определить абстрактный он или нет.

Что посоветуете?
MAXUS Отправлено: 05 Октября, 2015 - 08:22:55 • Тема: Что за конструкция? • Форум: Вопросы новичков

Ответов: 3
Просмотров: 238
Спасибо! Как раз и хотел понять в каком разделе доков это искать.

Сказывается недостаток системного образования.

ЗЫ Тыкнул в карму в порядке такскать очередностиУлыбка
MAXUS Отправлено: 04 Октября, 2015 - 12:21:34 • Тема: Что за конструкция? • Форум: Вопросы новичков

Ответов: 3
Просмотров: 238
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3. <head></head>
  4. <body>
  5. <?='TEST'?>
  6. </body>
  7. </html>


Выведет в body слово TEST. А подскажите, что это за конструкция? И где она описана?
MAXUS Отправлено: 29 Августа, 2015 - 09:17:57 • Тема: помогите составить регулярку на js с поиском строковых значений • Форум: JavaScript & VBScript

Ответов: 18
Просмотров: 1972
SAD пишет:
Общими усилиями пришли к решению

CODE (javascript):
скопировать код в буфер обмена
  1. str.match(new RegExp('(' + arr_data.join('|') + ')(?!.*\\1)', 'g')).length === arr_data.length


Плюсуюсь. Красиво! Еще модификатор i целесообразно добавить.
MAXUS Отправлено: 10 Августа, 2015 - 13:19:05 • Тема: class_exists загружает класс • Форум: Объектно-ориентированное программирование

Ответов: 11
Просмотров: 2854
Мелкий пишет:
MAXUS пишет:
Да так все и происходит примерно.

Ну и зачем вам тогда тут классы? Зачем строковые данные превращать в исполняемый код?


Тут я бы порекомендовал посмотреть, как и зачем это делается в Twig. В двух словах, шаблон может содержать переменные, условные конструкции, циклы, исполнение которых зависит от передаваемых параметров. Соответственно, либо парсить шаблон каждый раз, либо создать один раз класс и пользоваться им, пока шаблон не изменится.

Класс удобно использовать, потому что есть автозагрузка. И вообще, класс удобно использоватьУлыбка
MAXUS Отправлено: 10 Августа, 2015 - 12:57:56 • Тема: class_exists загружает класс • Форум: Объектно-ориентированное программирование

Ответов: 11
Просмотров: 2854
Мелкий пишет:
Это ещё и шаблонизатор? Ну вот зачем вам там динамические классы?


Очень хороший и удобный подход. Используется, например, в Twig.

Мелкий пишет:
С приложением должен общаться порождающий паттерн, приложение не должно задумываться, из кеша это чтение было сделано или более дорогим способом каким-то. Для шаблонов уместна фабрика, которая будет порождать объект с требуемыми характеристиками. Дальше (обычно при построении объекта самим объектом, чтобы фабрика о кешах не знала тоже) можно пнуть кэширующий прокси, который отдаст данные из кеша или, в случае промаха, пнёт тяжеловесный метод построения шаблона и, попутно, сохранения результата построения в кэш.


Да так все и происходит примерно. Я только не пойму как из примера, который я запостил, можно было сделать какие-то выводы об архитектуре приложения, которые бы позволяли рукоприкладствовать бумажной версией книги о шаблонах проектирования? Улыбка

Страниц (22): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB