[PHP] непонимаю что делает строка

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35420
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

[PHP] непонимаю что делает строка

Непрочитанное сообщение Alex Keda » 2008-05-23 18:22:11

Код: Выделить всё

$rr1 = ($num+10) >= $NumHrefLinks ? $NumHrefLinks : $num+10;
сабж. ненавижу такую нотацию... может ктонить подсказать как в обычную с if/else и фигурными скобками переписать?
======
а ещё в чужом коде ненавижу разбираться...
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: непонимаю что делает строка

Непрочитанное сообщение ProFTP » 2008-05-23 20:32:48

язык?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: непонимаю что делает строка

Непрочитанное сообщение hizel » 2008-05-23 21:38:44

да какая разница какой языг, семантика одинаковая для такой конструкции

Код: Выделить всё

if(($num=10) >= $NumHrefLinks){
  $rr1 = $NumHrefLinks
}else{
  $rr1 = $num+10
}
так понятнее? ;)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35420
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: [PHP] непонимаю что делает строка

Непрочитанное сообщение Alex Keda » 2008-05-24 0:48:20

ссорри - язык забыл указать. стартовый пост подправил.
=======
пасиб. так намного понятней.
=======
суки, руки повырывать за такие записи...
Убей их всех! Бог потом рассортирует...

jeehadina
мл. сержант
Сообщения: 93
Зарегистрирован: 2008-04-07 8:59:20

Re: [PHP] непонимаю что делает строка

Непрочитанное сообщение jeehadina » 2008-05-24 5:08:35

lissyara писал(а):ссорри - язык забыл указать. стартовый пост подправил.
=======
пасиб. так намного понятней.
=======
суки, руки повырывать за такие записи...
есть ситуации, когда такие записи удобные
а как на баше писали, кодеров которые набирают длинный код, лбом об бекспейс бить надо :mrgreen:
я не баба, я - мужик...
(это чтоб никто не путал)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35420
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: [PHP] непонимаю что делает строка

Непрочитанное сообщение Alex Keda » 2008-05-24 10:22:18

пример можно?
Я знаю что оно быстрей работает - но помоему данный факт не перекрывает неудобство чтения
Убей их всех! Бог потом рассортирует...

Аватара пользователя
krilya
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-03-11 4:42:29
Откуда: Комсомольск-на-Амуре

Re: [PHP] непонимаю что делает строка

Непрочитанное сообщение krilya » 2008-05-24 13:18:57

if.. else.. естествено читабельнее
но например если есть солянка из этих if,else... то код может превратиться в нечитабельный

Код: Выделить всё

    if (isset($params['keywords']) && isset($params['reset'])) {
        if ($params['reset'] == "true") {
            $isSet = true;
            $meta[] = $params['keywords'];
        } elseif ($params['reset']== "false") {
            //$meta[] = $params['data'];
        }
    } elseif (isset($params['keywords']) && !isset($params['reset'])) {
        $default = (isset($params['default'])) ? $params['default'] : null;
   } 
     return $default;
напимер в этом случае упомянутая конструкция очень даже уместна

p.s. ну и конечно от привычки зависит... или соглашения по стандартам кодирования :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35420
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: [PHP] непонимаю что делает строка

Непрочитанное сообщение Alex Keda » 2008-05-24 13:27:36

несогласен...
отступы никто не отменял - и код будет вполне читаем.
Убей их всех! Бог потом рассортирует...

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: [PHP] непонимаю что делает строка

Непрочитанное сообщение zg » 2008-05-24 14:12:30

тринарный оператор, он же ?, применяется только в том случае, когда по условию нужно вернуть одно из двух значений, это единственный случай его применения, все остальные - криворукость.

Код: Выделить всё

<?
// Верное использование
$int = time();
$val = $int % 2 ? 'Нечётное' : 'Чётное';

echo $int, ' ', $val;

// -------------------

// Неверное использование
$int % 2 ? $val = 'Нечётное' : $val = 'Чётное';
?>

Аватара пользователя
krilya
мл. сержант
Сообщения: 106
Зарегистрирован: 2008-03-11 4:42:29
Откуда: Комсомольск-на-Амуре

Re: [PHP] непонимаю что делает строка

Непрочитанное сообщение krilya » 2008-05-24 14:24:05

// Неверное использование
$int % 2 ? $val = 'Нечётное' : $val = 'Чётное';
мне такое в страшном сне бы не приснилося ;)

jeehadina
мл. сержант
Сообщения: 93
Зарегистрирован: 2008-04-07 8:59:20

Re: [PHP] непонимаю что делает строка

Непрочитанное сообщение jeehadina » 2008-05-24 18:04:57

zg писал(а):тринарный оператор, он же ?, применяется только в том случае, когда по условию нужно вернуть одно из двух значений, это единственный случай его применения, все остальные - криворукость.
оно
я не баба, я - мужик...
(это чтоб никто не путал)