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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    function _subqery_helper ($uri){
    static $i;
    		$i++;
    
    		if ((is_array($uri)) && (!empty($uri))) {
    			$keyword = array_pop($uri); //извлекаем последний элемент
    			
    			if ($i==1) 
    			{
    				$subqery = 'AND item.keyword= '.$this->db->escape($keyword).' '.(count($uri)? 'AND parent IN 
    				('.$this->_subqery_helper($uri).')' : '');
    			}
    			
    			elseif ($i > 1) 
    			{
    				$subqery = 'SELECT id FROM '.$this->db->dbprefix($this->table).' WHERE keyword = '.$this->db->escape($keyword).' AND parent '.(count($uri)? 'IN 
    				('.$this->_subqery_helper($uri).')' : ' = 0');
    			}
    		}
    		return $subqery;
    }

    массив $url очень простой:
    1=>"str1",2=>"str2",3=>"str3"

    это непонятная итерационная функция, которая вообще непонятно зачем такая сложная....

    Запостил: xoptov, 15 Марта 2013

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

    • Не понимаешь - не трогай!
      Ответить
    • qery это типа запрос
      Ответить
    • >if ((is_array($uri)) && (!empty($uri))) {
      PHP не знаю, но знаю, что от него всего можно ожидать. Неужели is_array может вернуть true при том что переменная empty? Или в этом суть говнокода?

      Погуглил малость:
      "A variable is considered empty if it does not exist or if its value equals FALSE. "
      Это пиздец конечно, почему именно FALSE? Такой рандом.
      Ответить

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