PHP if пункт основной вопрос - PullRequest
0 голосов
/ 31 января 2011

простой вопрос

в чем разница между:

if($posted_quantity <= $current_quantity) {
    if($posted_quantity >= $min_allowed_quantity && $posted_quantity <= $max_allowed_quantity){
        //do something
    }
}

и это:

if($posted_quantity <= $current_quantity && ($posted_quantity >= $min_allowed_quantity && $posted_quantity <= $max_allowed_quantity)){
    //do something
}

если это возможно, в чем разница между этими двумя, какой из них лучше использовать, большое спасибо

РЕДАКТИРОВАТЬ : я в настоящее время делаю тесты, и я не вижу никаких проблем с использованием обоих подходов, и у меня нет других возможностей, я просто хочу сделать что-то один раз в целых условиях выполняется (для ограничения количества пользователей), мне просто было любопытно, какой из них лучше, какой быстрее, удобочитаемее и тому подобное

Ответы [ 9 ]

1 голос
/ 31 января 2011

Это действительно возможно.

Функционально они эквивалентны, поэтому разница заключается в удобочитаемости, поэтому выбирайте тот, который вам проще всего понять.

Лично я 'сделать что-то вроде

if ($posted_quantity <= $current_quantity &&
    $posted_quantity <= $min_allowed_quantity &&
    $posted_quantity >= $max_allowed_quantity) {
    //do something
}

, чтобы сделать его более читабельным.

1 голос
/ 31 мая 2017

Оба стиля, если условия действительны, не кажется никакой разницей лучше использовать его в одном выражении условия

Надеюсь, это поможет !!

1 голос
/ 31 января 2011

Если у вас нет пунктов else или elseif, это точно так же.Хотя я предполагаю, что ваше исходное состояние уже было неверным:

$posted_quantity <= $min_allowed_quantity && $posted_quantity >= $max_allowed_quantity

Это верно, если $posted_quanitiy равно за пределами диапазона min..max.

0 голосов
/ 31 января 2011

OFC. все возможно! ;)

if($posted_quantity <= $current_quantity && ($posted_quantity <= $min_allowed_quantity && $posted_quantity >= $max_allowed_quantity)){
  //do something
}

То же самое, если вам всегда нужно проверять все это! Но если вам нужно проверить, как это:

if($posted_quantity <= $current_quantity){
  if($posted_quantity <= $min_allowed_quantity){
        //do something
  }
  elseif($posted_quantity >= $max_allowed_quantity){
        //do something else
  }
}

тогда это будет разделено! :)

0 голосов
/ 31 января 2011

Оба одинаковы. я так думаю Это ваш навык программирования, использование которого зависит от вас (чувство, что вы и другие легко понимаете этот код)

0 голосов
/ 31 января 2011

Первый позволяет вам иметь отдельные предложения else для каждого вычисляемого оператора. Вы можете захотеть, чтобы происходили разные вещи, если первое утверждение ложно, чем если второе ложно.

0 голосов
/ 31 января 2011

Если у вас нет предложения else, ваше первое if бесполезно.ИМХО, второй может быть немного быстрее, так как php не нужно разбирать 2 «если».Но я не уверен.

0 голосов
/ 31 января 2011

Они делают то же самое, таким же образом.В обоих случаях, если первое условие возвращает false, второе не оценивается.

0 голосов
/ 31 января 2011

То же самое.Преимуществом первого является возможность задания условия else для второго if и удобочитаемости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...