Цитата
Ну это ты по знакомым словам догадался, хотя я и для POST запросов так же формирую url...
Ну извиняйте, не вам судить о моих знаниях. А для какой цели необходимо формировать адресную строку при посте (хотяб один пример из жизни)?
Разбор кода:
$returnКод
return '/'.$ret2;
вернуть $ret2 с добавленным вначало слешем.
$ret0Код
$arg = is_array($_arg = $arg)?($ret1):$arg
Если $arg массив, то заменить его на $ret1
$ret1Код
count($arg)?implode('&', $arg):false
Если массив не пуст, то его содержимое объединяется в строку через знак &, в противном случае false.
$ret2Код
(($url = $ret3) ==''&& $_arg!=='')?'':"?$url"
если $ret3 пусто и $_arg не пусто то вернуть $ret3 иначе вернуть $ret3 c добавленным спереди знаком вопроса
$ret3Код
$ret4 !='' & ($ret0)!==false)?"$event&$arg":$event.$arg
Если $ret4 ($event) не пусто и $ret0 ($arg) не ложь, вернуть слияние знаком & строк $event и $arg, иначе вернуть простое слияние строк
$ret4Код
$event = ($ret5=='')?'':"event=$event"
Если $ret5 непусто, то спереди к $event добавляется строка "event="
$ret5Код
$event = is_string($event)?$event:QSL
если $event не строка, то заменяется константой (?) QSL
итак, здесь смотится что из себя представляет arg - если массив, то объединяется занком & (если массив пуст, возвращается false), иначе берется как есть. далее смотрим на event - если не строка, то заменяем какой-то предопределнной константой, добавляется спереди строка "event=". Если event изначально пуста, то такой и остается. Далее если $arg и $event успешно обработаны (без ошибок) то они сливаются знаком & иначе сливаются без него. потом если объединенная строка, которая возвращается, с присоединенным спереди слешем, а если эта строка не пуста или если аргуметов ($arg) передано не было, то добавляется еще знак вопроса.
В итоге получаем функцию, возвращающую GET запрос события event c параметром/ами arg (или без них)