За последние 24 часа нас посетили 22458 программистов и 1027 роботов. Сейчас ищут 654 программиста ...

Ошибку, которую не видит интерпретатор

Тема в разделе "PHP для новичков", создана пользователем thislegion, 25 май 2023.

  1. thislegion

    thislegion Новичок

    С нами с:
    12 май 2022
    Сообщения:
    16
    Симпатии:
    0
    Обратите внимание что в данном случае $giveSymbol в условии будет равен 1.Странно, но обработчик кода не выдает ошибку, хотя по сути она есть

    PHP:
    1. <?php
    2.  
    3. $giveSymbol = 'ADA';
    4. $getSymbol = 'RTX';
    5.            
    6. if(  $giveSymbol =! 'EURT' || $getSymbol != 'EURT' ) {
    7.    
    8.      echo $giveSymbol, '<br>';
    9.      
    10. }
     
  2. Boothooz

    Boothooz Активный пользователь

    С нами с:
    8 май 2016
    Сообщения:
    63
    Симпатии:
    6
    надо быть просто внимательнее в первом случае
    во втором случае условие правильно указано
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.319
    Адрес:
    Лень
    Это "=!" называется 6лядь в колеса. Почему не ругает, действительно бредово
    --- Добавлено ---

    Что ЖОПД пишет:

    Вот пример, который демонстрирует, как `=!` может быть использован в контексте, где это может быть валидным выражением в PHP:


    PHP:
    1. $var = 0;
    2. if (!$var) {
    3.   echo "Переменная равна 0 или является пустой строкой или null";
    4. } else {
    5.   echo "Переменная не равна 0 или не является пустой строкой или null";
    6. }
    Этот код проверяет, является ли переменная `$var` равной 0 или пустой строкой или null. Оператор `!` перед переменной инвертирует ее логическое значение (то есть, если переменная равна 0 или пустой строке или null, выражение становится истинным). Как результат, этот код выведет "Переменная равна 0 или является пустой строкой или null", если переменная равна 0, или "Переменная не равна 0 или не является пустой строкой или null", если переменная не равна 0.

    Хотя этот код работает, он не использует правильный оператор. Чтобы написать правильный код, нужно заменить `=!` на `!==`, как показано ниже:

    PHP:
    1. $var = 0;
    2. if ($var !== 0 && $var !== "" && $var !== null) {
    3.   echo "Переменная не равна 0 и не является пустой строкой и не null";
    4. } else {
    5.   echo "Переменная равна 0 или является пустой строкой или null";
    6. }

    Этот код использует оператор `!==` для сравнения переменной `$var` с 0, пустой строкой и null. Если переменная не равна 0, не является пустой строкой и не null, выражение становится истинным.
     
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360