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

    +160

    1. 1
    foreach($query->result_array() as $row) $res[] = $row;

    P.s на сайте не работает галочка "принять рецензию" в 4 хроме, а в 6 ие(который я включил, чтобы здесь накласть) не видно текстареи, но вроде работает :)

    Запостил: xscript, 24 Августа 2009

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

    • Хм... а что возвращает $query->result_array()?
      Ответить
      • судя из названия, возвращает массив :)
        Ответить
        • То, что она возвращает массив - это понятно... но в какой форме?
          Конечно код странный, но возможно того требовала ситуация?
          Ответить
          • в какой бы форме не возвращала, в $res будет точно такой же массив, что и в результате $query->result_array()
            Ответить
            • а хотя да, если в качестве ключа будет строка, то массивы будут различны. Но там числа
              Ответить
    • ну да =) человек похоже не выспался =)
      Ответить
    • Результатом result_array может быть просто обьект, который поддерживает интерфейс Iterator. В этом случае foreach по нему пройтись сможет, а вот методы работы с массивами уже не сработают. Поэтому человек может в принципе захотеть перевести его в обычный массив вот таким способом.
      Ответить
      • это конечно хорошо, но метод называется result_array
        Ответить
    • я просто ступил, было поздно =) а result_array() возвращает массив данных таблицы БД, всё как надо =)

      автор кода
      Ответить
    • Я, конечно не уверен, но если $query->result_array() это function result_array() { return mysql_fetch_array(); }, то это вроде как единственно верный вариант.
      Ответить
      • Это если бы код был while ($row = $query->result_array()) {$res[] = $row;} тогда да, а так, вы сморозили глупость.
        foreach сначала произведет вычисление метода $query->result_array(), получит весь массив, а потом по массиву пойдет.
        Тогда как while будет каждый проход получать новую порцию (новую строку из БД) данных и добавлять их к результирующему массиву.

        Кажется так :)
        Ответить
        • Блять, где ты тут гавнокод увидел уебан?
          Ответить

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