Mistři v programování na #hovnokod

PHP #4633

nalezeno v jednom CMS. Nejen že to slavné "řazení", řešené dvojitou smyčkou, lze udělat už v SQL dotazu, ale hlavně, pokud $data obsahují záznamy s neexistujícím ID, tak se to hezky zacyklí :)

/**
 * select pictures src by ids
 * @param array $data
 * @return multitype:|multitype:unknown
 */
private function modelSelectPicturesSrcByIds(array $data) {
    if (empty($data)) {
        return array();
    } else {
        foreach ($data as &$tmp) {
            $tmp = (int) $tmp;
        }

        $ids = implode(',', $data);

        $result = $this->env->db->selectAssocList("SELECT * FROM {$this->table_file_p} WHERE id in ({$ids})");

        //order by id
        $return = array();
        $data = array_reverse($data);
        $currentId = array_pop($data);
        if ($result) {
            while ($currentId != null) {
                foreach ($result as $row) {
                    if ($row['id'] == $currentId) {
                        $return[] = $row;
                        $currentId = array_pop($data);
                        break;
                    }
                }
            }
        }

        return $return;
    }
}

Anonymous,