Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Почему [+] НЕ [+]?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Вопрос по простым Арифметическим операторам
I_CaR
Отправлено: 28 Июля, 2011 - 07:23:33
Post Id



Новичок


Покинул форум
Сообщений всего: 62
Дата рег-ции: Март 2011  
Откуда: Красноярск


Помог: 0 раз(а)




Доброго здравия всем!
Вопрос по простым Арифметическим операторам
Пример:
PHP:
скопировать код в буфер обмена
  1. $a =3;
  2. $b =7;
  3. $c = $a + $b; //выводим через третью переменную
  4. print "a + b= ".$c; //Сработает
  5. print "a + b= ".$a+$b; //НЕ сработает (!!!) и не отобразиться "a + b= "
  6. print "a * b= ".$a*$b; //Сработает


Почему так? [+] или [-] на через оператор print не работают, а
  • или [/] работают?
  •  
     Top
    DeepVarvar Супермодератор
    Отправлено: 28 Июля, 2011 - 07:42:47
    Post Id



    Активный участник


    Покинул форум
    Сообщений всего: 10377
    Дата рег-ции: Дек. 2008  
    Откуда: Альфа Центавра


    Помог: 353 раз(а)




    Используйте одинарные кавычки.
     
     Top
    I_CaR
    Отправлено: 28 Июля, 2011 - 08:26:19
    Post Id



    Новичок


    Покинул форум
    Сообщений всего: 62
    Дата рег-ции: Март 2011  
    Откуда: Красноярск


    Помог: 0 раз(а)




    DeepVarvar пишет:
    Используйте одинарные кавычки.

    Бред!
    Сам пробовал, что сказал? разница = 0!
    Я просил не ошибки искать, а разъяснить.
    ЗЫ Одинарный кавычки используюю в HTML при интеграции его в PHP.

    (Отредактировано автором: 28 Июля, 2011 - 08:28:02)

     
     Top
    Мелкий Супермодератор
    Отправлено: 28 Июля, 2011 - 08:52:06
    Post Id



    Активный участник


    Покинул форум
    Сообщений всего: 11926
    Дата рег-ции: Июль 2009  
    Откуда: Россия, Санкт-Петербург


    Помог: 618 раз(а)




    Приоритет конкатенации, видимо, выше, чем сложения. Берите в скобки.


    -----
    PostgreSQL DBA
     
     Top
    ugin_root
    Отправлено: 28 Июля, 2011 - 08:59:01
    Post Id


    Частый гость


    Покинул форум
    Сообщений всего: 134
    Дата рег-ции: Май 2011  
    Откуда: Киргизия


    Помог: 5 раз(а)




    I_CaR
    глупый вопрос!
    какие операторы имеют приоритет?
    "a + b= ".$a+$b
    1)"a + b= ".$a
    так как следующий опереатор это стожение и (integer)"a + b= 3" == 0 то:
    2)0+7==7

    "a * b= ".$a*$b;
    1)$a*$b == 21
    2)"a * b= ".21

    и как повысить приоритет оператора??? естественно взять в скабки!
    print "a + b= ".($a+$b);
    (Добавление)
    Мелкий
    приоритет одинаковый но как и в школе вычисления в PHP идут слева направо.

    (Отредактировано автором: 28 Июля, 2011 - 09:01:55)

     
     Top
    I_CaR
    Отправлено: 28 Июля, 2011 - 09:07:44
    Post Id



    Новичок


    Покинул форум
    Сообщений всего: 62
    Дата рег-ции: Март 2011  
    Откуда: Красноярск


    Помог: 0 раз(а)




    to: Мелкий Спасибо! хоть прояснилась ситуация.
    Мелкий пишет:
    Приоритет конкатенации, видимо, выше, чем сложения. Берите в скобки.

    Хм... все верно...
    Сработало...
    Ну блин, и тяжёлый же язык (PHP) для логического понимания...
     
     Top
    DeepVarvar Супермодератор
    Отправлено: 28 Июля, 2011 - 09:17:08
    Post Id



    Активный участник


    Покинул форум
    Сообщений всего: 10377
    Дата рег-ции: Дек. 2008  
    Откуда: Альфа Центавра


    Помог: 353 раз(а)




    I_CaR пишет:
    Бред
    Не проснулся... Радость
     
     Top
    Мелкий Супермодератор
    Отправлено: 28 Июля, 2011 - 09:18:58
    Post Id



    Активный участник


    Покинул форум
    Сообщений всего: 11926
    Дата рег-ции: Июль 2009  
    Откуда: Россия, Санкт-Петербург


    Помог: 618 раз(а)




    ugin_root пишет:
    приоритет одинаковый но как и в школе вычисления в PHP идут слева направо.

    Да, действительно, равный приоритет.


    -----
    PostgreSQL DBA
     
     Top
    I_CaR
    Отправлено: 28 Июля, 2011 - 09:42:34
    Post Id



    Новичок


    Покинул форум
    Сообщений всего: 62
    Дата рег-ции: Март 2011  
    Откуда: Красноярск


    Помог: 0 раз(а)




    to: ugin_root
    ugin_root пишет:
    глупый вопрос!
    какие операторы имеют приоритет?

    Ни чего не глупый.
    Чего же сразу не ответить по теории PHP тогда тебе?
    "Приоритеты вычислений"
    Читаем что писал "Владимир Водолазкий - Эфективная работа PHP4"
    Оператор — Ассоциативность
    print — right
    + - . — left
    ----------
    Ну и всё равно не понятно, почему как в школе он и не сложил? а вывел переменную, стирая стринг...
    (PHP теорию не проходил (практика web-технологий вынуждает прибегать к нему), изучал Pascal, там как-то яснее, понятнее [+] если он оператор, то он делает +!)

    (Отредактировано автором: 28 Июля, 2011 - 09:47:33)

     
     Top
    DlTA
    Отправлено: 28 Июля, 2011 - 11:30:30
    Post Id



    Постоянный участник


    Покинул форум
    Сообщений всего: 2952
    Дата рег-ции: Окт. 2010  


    Помог: 53 раз(а)




    I_CaR, ну так сказали же, приоритет, но в данном случае между операторами "+" и "."

    у точки приоритет выше, так как идет раньше
    вот в и тоге и получается что конечные действие выглядят следующе:
    print "строка"+$число;

    (Отредактировано автором: 28 Июля, 2011 - 11:34:20)

     
     Top
    Страниц (1): [1]
    Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
    « Хранение данных, их вывод и обработка »


    Все гости форума могут просматривать этот раздел.
    Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
    Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
     



    Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

     
    Powered by ExBB FM 1.0 RC1. InvisionExBB