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 :: 1 != 1

 PHP.SU

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


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

> Описание: Мистика в PHP
folibis
Отправлено: 28 Апреля, 2011 - 01:13:23
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Апр. 2011  


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




Вот такая мистика происходит у меня на сайте:
PHP:
скопировать код в буфер обмена
  1. global $value1;
  2. $value1 = '1';
  3.  
  4. compareValues();
  5.  
  6. function compareValues()
  7. {
  8.         global $value1;
  9.         $value2 = '1';
  10.         if($value1 == $value2) echo 'Ok';
  11.         else echo 'No';
  12. }

Выводится всегда «No». Делал уже все что угодно, применял intval, strcmp, результат один: 1 != 1. В чем тут собака порылась - не пойму

(Отредактировано автором: 28 Апреля, 2011 - 01:14:11)

 
 Top
altermann
Отправлено: 28 Апреля, 2011 - 02:44:50
Post Id



Частый гость


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


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




То что вы выложили, у меня вывело "Ок". Там значение первой переменной у вас нигде не перебивается?


-----
Я прирожденный кузнец, я не могу не куя!
 
 Top
Stierus Супермодератор
Отправлено: 28 Апреля, 2011 - 09:15:05
Post Id



Рекордсмен по количеству сообщений за 7 дней


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


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




С использованием глобал переменных сложно избежать мистики Улыбка Но в вашем случае мистики не должно быть .... не пробовали в случае false выводить обе переменные в кавычках (что бы пробелы, табы и тд отследить) + их типы (хотя у вас сравнение типы не учитывает)? о_О
 
My status
 Top
EuGen Администратор
Отправлено: 28 Апреля, 2011 - 09:22:40
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




CODE (text):
скопировать код в буфер обмена
  1.  
  2. user@gate:~/stats$ php -v
  3. PHP 5.3.2-1ubuntu4.7 with Suhosin-Patch (cli) (built: Jan 12 2011 18:36:08)
  4. Copyright (c) 1997-2009 The PHP Group
  5. Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
  6. user@gate:~/stats$ cat test.php
  7. <?php
  8. global $value1;
  9. $value1 = '1';
  10.  
  11. compareValues();
  12.  
  13. function compareValues()
  14. {
  15.         global $value1;
  16.         $value2 = '1';
  17.         if($value1 == $value2) echo 'Ok'."\n";
  18.         else echo 'No'."\n";
  19. }
  20. user@gate:~/stats$ php test.php
  21. Ok
  22. user@gate:~/stats$
  23.  


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Мелкий Супермодератор
Отправлено: 28 Апреля, 2011 - 09:30:33
Post Id



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


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


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




Смотрите var_dump($value1, $value2,$value1 == $value2); перед условием.
Представленный пример даже по типу переменных отработает в "ок".


-----
PostgreSQL DBA
 
 Top
Viper
Отправлено: 28 Апреля, 2011 - 09:32:05
Post Id



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


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


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




folibis ваш код рабочий. Есть подозрение на корявизну кодировки файла.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
destus
Отправлено: 28 Апреля, 2011 - 15:08:13
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Апр. 2011  


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




folibis пишет:
Вот такая мистика происходит у меня на сайте:
PHP:
скопировать код в буфер обмена
  1. global $value1;
  2. $value1 = '1';
  3.  
  4. compareValues();
  5.  
  6. function compareValues()
  7. {
  8.         global $value1;
  9.         $value2 = '1';
  10.         if($value1 == $value2) echo 'Ok';
  11.         else echo 'No';
  12. }

Выводится всегда «No». Делал уже все что угодно, применял intval, strcmp, результат один: 1 != 1. В чем тут собака порылась - не пойму

точно ==стоит? Если === и value1 string, value2 int, то будет NO писать)
 
 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