ФорумПрограммированиеPHP для идиотов → Что Я, %username% ненавижу в ПХП

Что Я, %username% ненавижу в ПХП

  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz Март 29, 2010, 11:50 д.п., спустя 11 часов 12 минут 5 секунд

    php - Хочется взять и уебать! XDD)
  • Baboot

    Сообщения: 440 Репутация: N Группа: Адекваты

    Spritz Март 29, 2010, 12:10 п.п., спустя 20 минут 8 секунд

    phpdude, согласен это пиздец.. я в одном месте использую ссылки.. в foreach…

    foreach($somearray as &$v)
    {
    $v = Magic::doCast($v);
    }
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Март 29, 2010, 12:30 п.п., спустя 19 минут 17 секунд

    Через array_walk такое нельзя провернуть?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Март 29, 2010, 12:43 п.п., спустя 13 минут 11 секунд

    можно, но чаще всего это неудобно.

    		$comments = Database::getInstance()->fetchAll('
    SELECT
    c.id, c.user_id, c.date_add,
    e.id AS entry_id, e.title AS entry_title,
    bc.title AS category_title, bc.url_part,
    u.name AS user
    FROM
    :comments AS c
    LEFT JOIN :blogs_entries e ON e.id=c.token
    LEFT JOIN :blogs_categories bc ON bc.id=e.category_id
    LEFT JOIN :users u ON u.id=c.user_id
    WHERE c.module = "blogs/main"
    ORDER BY c.date_add DESC
    LIMIT 0, ?i', $this->getLimit());

    $f = new Module_Formatter_Class();
    foreach ($comments as &$comment) { // в пыхе до 5.3 нет замыканий, делать callback через create_function напряжно. Выделять в отдельный метод, который будет передан array_walk? тоже незачем. Проще всего через ссылку
    $comment['user_url'] = $f->formatUserUrl($comment['user']);
    $comment['category_url'] = '/blogs/' . $comment['url_part'];
    $comment['entry_url'] = $comment['category_url'] . '/' . $comment['entry_id'];
    $comment['url'] = $comment['entry_url'] . '#comment' . $comment['id'];
    }

    return template()->assign('comments', $comments)->render('modules/blogs/lastComments');


    плохо то, что иногда нужен ключ, а тогда по ссылке не передать (или у меня не получалось). Или даже ключ по ссылке)

    // из валидатора
    protected function formatMessage($message, array $data = array())
    {
    foreach ($data as $key => $value) {
    $data['%' . $key . '%'] = $value;
    unset($data[$key]);
    }

    return strtr($message, $data);
    }
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Март 29, 2010, 2:13 п.п., спустя 1 час 30 минут 2 секунды

    foreach ($comments as  &$comment) { // в пыхе до 5.3 нет замыканий, делать callback через create_function напряжно. Выделять в отдельный метод, который будет передан array_walk? тоже незачем. Проще всего через ссылку
    $comment['user_url'] = $f->formatUserUrl($comment['user']);


    чем тебе foreach($comments as $i=>$comment)

    $comments[$i] = $comment;

    не устроил?

    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz Март 29, 2010, 2:28 п.п., спустя 15 минут 9 секунд

    на 4 символа больше в каждой строке против одного символа (&) в одной. Мне тупо лень их писать (да, моментами я невыносим)
    Спустя 32 сек.
    та и просто не хочу, что б от этих всех [$i] в глазах рябило
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz Март 29, 2010, 2:48 п.п., спустя 19 минут 25 секунд

    не парься, ты не один
    ιιlllιlllι унц-унц
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Апрель 7, 2010, 5:38 п.п., спустя 9 дней 2 часа 50 минут

    <?php
    $x = intval("2") * 1024 * 1024 * 1024;
    var_dump($x, intval($x));

    float(2147483648)
    int(-2147483648)

    кто знает почему так ?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Апрель 7, 2010, 6:19 п.п., спустя 41 минуту

    NRG,
    dev:~# php test.php
    int(2147483648)
    int(2147483648)


    забавно :)

    обожаю пых
    Спустя 22 сек.
    NRG, сколькибитная система? какая ось?
    Сапожник без сапог
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Апрель 7, 2010, 6:21 п.п., спустя 2 минуты 31 секунду

    Windows XP Professional Service Pack 3 (32 bit)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Апрель 7, 2010, 6:26 п.п., спустя 5 минут 8 секунд


    Windows XP Professional Service Pack 3 (32 bit)
    я на 64 битке дебиане проверял
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Апрель 7, 2010, 6:33 п.п., спустя 6 минут 29 секунд

    phpdude, сравнение хуя с пальцем на пiха.ру
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Апрель 7, 2010, 6:35 п.п., спустя 2 минуты 44 секунды


    phpdude, сравнение хуя с пальцем на пiха.ру
    ну ты истину глаголишь)))

    возможно на 32 битках он неправильно себя ведет с большими числами(преграничными)
    Сапожник без сапог
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Апрель 7, 2010, 6:41 п.п., спустя 5 минут 25 секунд

    Видимо в винде на тип integer отводится 32 бита, а на - float 64.
    При заполнении 32 бита знак меняется на отрицательный т.к. этот бит собственно является признаком отрицательности (в пыхе нет беззнаковых типов, как в си).
    В никсах похоже на int отводится больше места.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Апрель 7, 2010, 6:43 п.п., спустя 1 минуту 55 секунд


    Видимо в винде на тип integer отводится 32 бита, а на - float 64.
    При заполнении заполнении 32 бита знак меняется на отрицательный т.к. этот бит собственно является признаком отрицательности (в пыхе нет беззнаковых типов, как в си).
    В никсах похоже на int отводится больше места.

    также подумал, только не смог "написать" чтото адекватное))
    Спустя 181 сек.
    The size of an integer is platform-dependent, although a maximum value of about two billion is the usual value (that's 32 bits signed). 64-bit platforms usually have a maximum value of about 9E18. PHP does not support unsigned integer s


    ну да :)
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!