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]   

> Без описания
Philipp
Отправлено: 01 Августа, 2012 - 02:07:37
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2012  


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




CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?
  3.  
  4. $a = '50';
  5. $b = '50';
  6.  
  7. if ($a + $b = 100) {
  8.     echo "a = b";
  9. } else {
  10.     echo "a НЕ = b";
  11. }
  12. ?>
  13.  


пробовал и такой код :

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2.  
  3. $a = '50';
  4. $b = '5';
  5. $c = '100';
  6.  
  7. if ($a + $b = $c) {
  8.     echo "a = b";
  9. } elseif ($a + $b != $c) {
  10.     echo "a НЕ = b";
  11. }
  12. ?>

и такой :
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?
  2.  
  3. $a = '50';
  4. $b = '5';
  5. $c = '100';
  6.  
  7. if ($a=$b ) {
  8.     echo "a = b";
  9. } elseif ($a!=$b) {
  10.     echo "a НЕ = b";
  11. }
  12. ?>
  13.  

вопрос в том как заставить это корректно работать ? при любом изменении переменных все равно выводит : a = b. а оно уже не равно будет если поставить $a = 1 $b = 2.
я так понимаю что проблема в условии что равно 100 ибо в редакторе 100 подсвечивается каким-то оранжевым цветом...

(Отредактировано автором: 01 Августа, 2012 - 02:18:39)

 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Августа, 2012 - 04:33:02
Post Id



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


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


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




Не if ($a = $b ) { , а if ($a == $b ) {
 
 Top
NoPaper
Отправлено: 01 Августа, 2012 - 09:51:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012  
Откуда: Минск


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




Philipp
= - оператор присваивания
== - оператор сравнения
все просто Улыбка

(Отредактировано автором: 01 Августа, 2012 - 09:51:30)

 
 Top
aleksey244234
Отправлено: 01 Августа, 2012 - 10:50:52
Post Id



Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Июнь 2012  
Откуда: Беларусь,Могилёв


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




Кстати.
PHP:
скопировать код в буфер обмена
  1. <?
  2.  
  3. $a = '50';
  4. $b = '50';
  5.  
  6. if ($a + $b = 100) {
  7.     echo "a = b";
  8. } else {
  9.     echo "a НЕ = b";
  10. }
  11. ?>

а если у тебя $a=44 а, $b=56
то напишет a=b хотя это не так...
 
 Top
NoPaper
Отправлено: 01 Августа, 2012 - 10:58:33
Post Id



Посетитель


Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012  
Откуда: Минск


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




aleksey244234 пишет:

то напишет a=b


Ну так правильно.
Стоит оператор присваивания.
Если выражению $a+$b присвоить значение 100, то вернет true, независимо от значений переменых.

aleksey244234 пишет:

а если у тебя $a=44 а, $b=56
то напишет a=b хотя это не так...

кстати
44+56=100//True
44+56==100//True
Радость
 
 Top
BAS-P
Отправлено: 01 Августа, 2012 - 11:03:55
Post Id


Гость


Покинул форум
Сообщений всего: 74
Дата рег-ции: Июнь 2012  


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




NoPaper пишет:
кстати
44+56=100//True
44+56==100//True


Потому что это разные вещи.
Если брать
$a == $b; - с одной = будет присвоение.
если брать к примеру
$a + $b = $c - естественно это не присвоение, нельзя присвоить не перемене значение, тоесть $a + $b.
 
 Top
aleksey244234
Отправлено: 01 Августа, 2012 - 11:04:34
Post Id



Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Июнь 2012  
Откуда: Беларусь,Могилёв


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




я про то что тебе в браузере напишет a=b а это уже не верно)
 
 Top
NoPaper
Отправлено: 01 Августа, 2012 - 11:11:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012  
Откуда: Минск


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




aleksey244234 пишет:
я про то что тебе в браузере напишет a=b а это уже не верно)

Напишет т.к. выполнится echo 'a=b';

BAS-P пишет:


Потому что это разные вещи.
Если брать
$a == $b; - с одной = будет присвоение.
если брать к примеру
$a + $b = $c - естественно это не присвоение, нельзя присвоить не перемене значение, тоесть $a + $b.


php пытается присвоить выражению $a+$b значение $c
всегда(кроме 1 случая) будет возвращено true

(Отредактировано автором: 01 Августа, 2012 - 11:12:42)

 
 Top
aleksey244234
Отправлено: 01 Августа, 2012 - 11:14:47
Post Id



Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Июнь 2012  
Откуда: Беларусь,Могилёв


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




Я говорю про то что если бы я был пользователем которому дали данный скрипт и мне необходимо сверять цифры то скрипт выдавал бы неверную информацию хотя условие выполняется)
 
 Top
NoPaper
Отправлено: 01 Августа, 2012 - 11:17:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012  
Откуда: Минск


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




BAS-P пишет:

$a + $b = $c - естественно это не присвоение

переменной $b будет присвоено значение $c.
сначала выполнится $b = $c //true
потом $a + $b //true


бессмысленно в условие впихивать сложение
(Добавление)
aleksey244234 пишет:
Я говорю про то что если бы я был пользователем которому дали данный скрипт и мне необходимо сверять цифры то скрипт выдавал бы неверную информацию хотя условие выполняется)

лол Радость

(Отредактировано автором: 01 Августа, 2012 - 11:24:51)

 
 Top
aleksey244234
Отправлено: 01 Августа, 2012 - 11:26:18
Post Id



Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Июнь 2012  
Откуда: Беларусь,Могилёв


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





Хоть кого-то мои посты радуют
 
 Top
Philipp
Отправлено: 01 Августа, 2012 - 12:09:08
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2012  


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




спасибо всем, буду учить еще )
 
 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