1. PHP / Говнокод #8843

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public function deletePubs() {
            $id = $this->core->request->parameters["id"];
            if (!empty($id)) {
            	$id++; $id--;
                $this->core->database->exec(
                "delete
    		FROM lists
    		WHERE id=".$id
                );
            }
            header("Location: /admin/about/listAbout");
        }

    Не знаю что автор хотел сделал кодом на 4-ой строке. Предполагаю, что таким образом он приводит переменную $id к целочисленному типу.

    Запостил: alxkolm, 15 Декабря 2011

    Комментарии (17) RSS

    • В PHP определен инкремент/декремент строк, так что $id останется неизменным.
      Ответить
      • Ага, только тип меняется на int
        Ответить
        • Возьми и проверь, будешь удивлен результатом.
          Ответить
          • Я ждал, когда вы это напишите.
            <php
            $id = '10';
            $id++; $id--;
            var_dump($id);
            ?>

            Вывод:
            int(10)
            Ответить
        • Для изменения типа есть две чудесные операции.
          $a *= 1;
          и
          $a += 0;
          Ответить
          • что-то сомневаюсь я во второй, как бы из 2 мы бы 20 не получили.
            самая лучшая операция - (int)$a, ну или intval($a) для 4ой версии.
            Ответить
            • в ПХП конкатенация строк выполняется оператором . а не +. Именно по этой причине.
              Ответить
          • долбоебы, для изменения типа есть "(int)" или на крайняк intval()
            Ответить
          • Вы оба - капитаны очевидность.
            Приведённые примеры - классика говнокода.
            Ответить
    • Ну "подергивание" же.
      Ответить
    • Я как то встречал такое b=!!i; Типа приведение к булевому типу
      Ответить
      • Как раз !! - это понятно и естественно.
        Ответить
      • Я неоднократно встречал. Еще в Си так делалось. И на говнокоде было, в js-версии.
        Ответить
        • гооглевский обфукатор так делает
          в поскольку все уэб-приматы дрочат на гоогле - появление такого говнокода было неизбежно
          Ответить

    Добавить комментарий