07.09.2007

PHP: последний элемент foreach

Изобрел велосипед для определения последнего элемента в цикле foreach() — с помощью функции next(). Чтобы не считать число элементов в массиве, не заводить счетчик и не сравнивать его значение с числом элементов.


foreach ($array as $key => $value) {
   // do something...
   if (!next($array)) {
        // do something for last element
    }
}

Для чего это нужно? Обычно для таких случаев: есть нескольо блоков, разделенных чертой. Я делаю это дивами с border-bottom. Для последнего блока надо указать border:none.

15.05.2007

PHP-сессии и Firefox 2.0

Поставил на новом компьютере Firefox 2.0 (чтобы скачать Opera). Обнаружил интересную деталь.

Firefox 2.0 научился восстанавливать открытые вкладки после перезапуска, как Opera (для более ранних версий FF требовался плагин).

Так вот, если закрыть Fiirefox с открытыми вкладками, а потом снова запустить, то PHP-сессия сохранаяется.

11.12.2006

ezSQL

Поковырявшись в коде Wordpress, обнаружил отличный PHP-класс для работы с базами данных — ezSQL.

До безумия упрощает работу с базами данных, что очень удобно, особенно для таких лентяев, как я.

Читать полностью "ezSQL" →

22.03.2006

PHP: красивый вывод текста

А где бы найти набор функций на PHP, который бы красиво расставлял абзацы, там где нужно, и не ставил, где не нужно (например, в списках, таблицах и т.п.)?

Сейчас пытаюсь выковырять эти функции из Wordpress. Но, может, где-то лежит готовый…

Upd. Надо было спросить у Гугля — нашел быстрее, чем писал этот пост. Вот они: PHP Markdown и PHP SmartyPants.

Markdown даже делает гораздо больше, чем требовалось — заменяет тегами всякие штуки, типа *это будет выделенным* и т.п. PHP Markdown Extra, кстати, гораздо интереснее.

В PHP SmartyPants немного поковырялся, чтобы вместо “буржуйских” кавычек ставил “русские” (“лапки”). Правда, “кавычки “в кавычках”” (“елки-лапки”) не осилил.

Пошел к Яндексу, в надежде, что кто-то из русских это сделал, однако Яндекс выдает только музыку и фиалки.

01.12.2005

Хочу как лучше — получается как всегда

Music: Комитет Охраны Тепла — Не время любить

Пытаюсь освоить ООП, а получается как в руководстве — “How To Write Unmaintainable Code“…

27.11.2005

Дата из timestamp + 4 часа

У меня очередной тупняк.

Имеется unix timestamp.

Как из него c помощью PHP получить человеческую дату со смещением на 4 часа?

14.11.2005

Гламурный сайт о PHP

Следом за линукс-чиксами идут PHP-принцессы.

http://php-princess.net/

28.08.2005

Тупняк

Недавно забыл, как на php писать в файл. Нашел в мане fwrite, очень удивился. Был уверен, что как в Perl: print имя файла, что писать.

Сейчас долго думал, как удалить элемент из хэша на php. Просмотрел, все что можно в разделе “Массивы”, лучшее, что нашел, было array_splice. но тоже, не дело, так как считать offset нет никакого желания. Все оказалось гораздо проще — unset.

Думаю, еще предстоит потупить. А все потому, что у них нет MySQL.

22.07.2005

Dreamweaver, php

Dreamweaver решил, что он теперь будет открывать php-файлы, и навешал на них свои зеленые иконки. Как его в этом теперь разубедить?

23.06.2005

Помог с PHP

Мыльчик попросил помочь с PHP — при include выводятся warnings. Переписывать код ему лень. Я и посоветовал: “Поставь “@” перед include”.

20.06.2005

Coppermine

Еще одна галерея.

Coppermine почему-то отдает мне какие-то бинарные кракозябры, нормально показывает только в IE. Конечно, у меня кривой сервер под виндой, но все равно, мне это не понравилось. Интерфейс неудобный. Снес.

PhpWebGallery

PhpWebGallery — говно.

03.06.2005

Постраничный вывод из базы

Я извращенец?

Имеется таблица в базе данных. Надо выводить по несколько записей ($segment) на страницу. Если общее количество записей ($total) кратно числу выводимых на страницу, то нам нужно $total/$segment страниц. Если же не кратно, то нам нужны целая часть от $total/$segment плюс одна страница. Хотелось это вычислять одним выражением. В итог сделал так (PHP):

$pages = floor($total/$segment) + ceil(sin($total % $segment));

Upd. Еще надо модуль синуса вычислить. Хотя маловероятно, что потребуется выводить больше 180 строк на страницу.

Upd 2. Да, я извращенец и идиот. Все гораздо проще — надо округлять в большую сторону:

$pages = ceil($total/$segment);

30.05.2005

Display errors

Решил поработать, попрограммировать. Написать небольшую базу данных. Пишу. Не работает. В чем проблема — не пойму.

На сервере в php.ini прописано “display_errors = Off”. Соответственно, где ошибка, понять не могу. Приделал вывод ошибок, и долго матерился. Оказывается, указал не то имя базы данных, и два часа трахался, пытаясь понять, в чем дело.

Еще почему-то ничего не копируется через буфер обмена из PHP Manual…

28.03.2005

Голосование

В [info]ru_php спрашивают:

Господа!

Вопрос таков — есть ли openspurce скрипт голосования с адекватным администрированием и возможностью выбора типа голосования:

1. Множественный выбор — ответ на несколько вопросов сразу
2. Единичный выбор — возможно выбрать только один вариант

Заранее премного благодарен!

И замечательно отвечают…
http://www.livejournal.com/community/ru_php/314899.html

18.04.2003

CSS

Now playing: Offspring — Mota
Переделал сайт, теперь все на CSS. Таблицы только там, где они являются таблицами. Работают кнопки “туды-сюды”.
Перелопатил код, теперь Valid HTML!

03.04.2003

regexp

Now playing: Portishead — All Mine
Надо переделать слегка вывод, чтобы корректно отображались примеры кода. Разобраться хорошенько с регулярными выражениями. И с PHP.
Я умнею с каждым часом.

24.03.2003

Bug!

Обнаружился баг в регистре. Надо поковырять. Одна проблема — с PHP я еще не очень разобрался.

i-took-the-2010-survey.gif

Архив

Creative Commons License
This weblog is licensed under a Creative Commons License.
Работает на
Movable Type 3.21
98746801
My status a.kost