Как знать, что условие if выполнено в PHP

У меня есть решение IF с несколькими условиями OR есть какой-то способ знать, что условие выполнено:

if ($variables_tax_id_next == 201 || 
    $variables_tax_id_next == 206 || 
    $variables_tax_id_next == 211 || 
    $variables_tax_id_next == 216 || 
    $variables_tax_id_next == 226 || 
    $variables_tax_id_next == 231 || 
    $variables_tax_id_prev == 201 || 
    $variables_tax_id_prev == 206 || 
    $variables_tax_id_prev == 211 || 
    $variables_tax_id_prev == 216 || 
    $variables_tax_id_prev == 226 || 
    $variables_tax_id_prev == 231){

}
10
задан 18.10.2016, 01:36
7 ответов

Ты можешь использовать функцию in_array.

Как дела используя те же числа в условие if для переменных $..._next и $..._prev, я создал array ($num) и с этим ты делаешь проверку:

$num = [201, 206, 211, 216, 226, 231];

if (in_array($variables_tax_id_next, $num)) {

    echo "Valor next: {$variables_tax_id_next}\n";
}

if (in_array($variables_tax_id_prev, $num)) {

    echo "Valor prev: {$variables_tax_id_prev}";
}

Видеть Demo

8
ответ дан 24.11.2019, 13:04

Действительно в существо логическое условие OR если любой из выборов будет истинным, условие введет информацию в компьютер, что ты мог бы делать, состоит в том, чтобы печатать стоимость $variables_tax_id_next внутри истинного условия и видеть, что у стоимости есть эта переменная, хотя, если ты посылаешь единственную стоимость в этой переменной, if было бы возможно заменять из-за одного switch, таким образом что у тебя было больше контроля в каждом случае.

switch ($variables_tax_id_next) {
      case 201:
        echo $variables_tax_id_next;
        break;
      case 206:
        .
        . 
        .
      default:
        break;
}
3
ответ дан 24.11.2019, 13:04
  • 1
    Это то же самое, что и, если он помещает один, я бросаю $ variables_tax_id_next в Ваш c и # 243; я говорю... В действительности не знает condici и # 243; n из-за той, которая вводится, только стоимость этой. –  Muriano 18.10.2016, 20:03

Чтобы знать, который условий выполнен, я предлагаю тебе использовать переключатель вступил в брак, aquГ - ссылка.

http://php.net/manual/es/control-structures.switch.php

switch ($variables_tax_id_next) {
    case "201":
        echo "Mi valor es". $variable_tax_id_next;
        break;
    .
    .
    .
}
0
ответ дан 24.11.2019, 13:04

Кроме SWITCH, что recomendaciГіn, tambiГ©n ты можешь играть ее с ìf и else if

if ($variables_tax_id_next == 201){
else if( $variables_tax_id_next == 206){
else if( $variables_tax_id_next == 211){
else if( $variables_tax_id_next == 216){
else if( $variables_tax_id_next == 226){
else if( $variables_tax_id_next == 231){
else if( $variables_tax_id_prev == 201){
else if( $variables_tax_id_prev == 206){
else if( $variables_tax_id_prev == 211){
else if( $variables_tax_id_prev == 216){
else if( $variables_tax_id_prev == 226){
else if( $variables_tax_id_prev == 231){
    }
0
ответ дан 24.11.2019, 13:04
  • 1
    Я верю в то, что, чтобы предотвращать немного, схвати, и # 237; дело в том, что существует структура контроля переключателя. –  Dev. Joel 18.10.2016, 01:35
  • 2
    @Dev. Джоэл у тебя есть raz и # 243; n, что лучшим является переключатель, echo, это recomendaci и # 243; n, который я делаю, хотя эта структура tambi и # 233; n - opci и # 243; n, хотя менее рекомендуемый –  Jose Javier Segura 18.10.2016, 01:37
  • 3
    Это opci и # 243; n. М и # 225; s не лучшая. Я соглашаюсь. –  Dev. Joel 18.10.2016, 01:38

Как выдвинуто, любое из решений внутри if() что был TRUE, даст, как истинный IF, тогда, с этой структурой не могут получать то, что ты хочешь. Знать каков это стоимость, что прибыло лучшее, состоит в том, чтобы использовать один switch. Сейчас, поскольку он кажется, что $variables_tax_id_next это число, возможно тебе стоило измерять это посредством какого-то предела, например

if ($variables_tax_id_next > 230 && $variables_tax_id_next > 259){
  ...
}else if ($variables_tax_id_next > 260 && ...)...etc
0
ответ дан 24.11.2019, 13:04

Одна soluciГіn с переключателем, хотя я предлагаю следующую, так как хочется знать, который та condiciГіn cumpliГі:

if ($variables_tax_id_next == 201 || 
    $variables_tax_id_next == 206 || 
    $variables_tax_id_next == 211 || 
    $variables_tax_id_next == 216 || 
    $variables_tax_id_next == 226 || 
    $variables_tax_id_next == 231 || 
    $variables_tax_id_prev == 201 || 
    $variables_tax_id_prev == 206 || 
    $variables_tax_id_prev == 211 || 
    $variables_tax_id_prev == 216 || 
    $variables_tax_id_prev == 226 || 
    $variables_tax_id_prev == 231){
    echo "El valor de la variable es ".$variables_tax_id_prev."<br />";
}

типов Привета!!

0
ответ дан 24.11.2019, 13:04

Привет ты можешь пробовать со следующим:

if (intval($variables_tax_id_next) === 201 || 
    intval($variables_tax_id_next) === 206 || 
    intval($variables_tax_id_next) === 211 || 
    intval($variables_tax_id_next) === 216 || 
    intval($variables_tax_id_next) === 226 || 
    intval($variables_tax_id_next) === 231 || 
    intval($variables_tax_id_next) === 201 || 
    intval($variables_tax_id_next) === 206 || 
    intval($variables_tax_id_next) === 211 || 
    intval($variables_tax_id_next) === 216 || 
    intval($variables_tax_id_next) === 226 || 
    intval($variables_tax_id_next) === 231){
echo "resultado correcto";
}

как дела сравнивая с целыми результатами иногда php не интерпретирует переменные целыми поэтому intval.

надеялся, что он ты помогает.

типов Привета.

-1
ответ дан 24.11.2019, 13:04