Имя: Пароль:
IT
Веб-мастеринг
Неправильно работает if в php
0 megabax
 
23.02.13
11:55
Вот такой код:
           echo "<h1>DDDD: $partner_id,$custom_outercode</h1>";
           if($custom_outercode!=0) {
               $customers=new EP_Customers($this->encoding);
               $customers->db=$this->db;            
               $customers_row=$customers->GetPartner($mysqli,$custom_outercode);
               echo "<h1>WWW: $partner_id,$custom_outercode,$customers_row</h1>";
           } else {
               echo "<h1>XXX: $partner_id,$custom_outercode,$customers_row</h1>";
               $customers_row=null;
           }
выдает
DDDD: 1,shop
XXX: 1,shop,
подскажите плз, как заставить PHP работать правильно????
по логике, если $custom_outercode у меня равен "shop", то он ну никак не равен нулю, а почему же выполняется ветвь где он равен нулю?????
1 sda553
 
23.02.13
12:40
В php такой есть прикол, что строка при преобразовании в число преобразуется как 0 в случае если строка не начинается с числа

http://www.php.su/learnphp/datatypes/?mn#strtoint

"Значение определяется по начальной части строки. Если строка начинается с верного числового значения, будет использовано это значение. Иначе значением будет 0 (ноль)."
2 Fragster
 
гуру
23.02.13
12:43
==
3 Fragster
 
гуру
23.02.13
12:43
а, сморозил.втору срочно перестать экономить на пробелах
4 Fragster
 
гуру
23.02.13
12:44
*. А
5 Asmody
 
23.02.13
15:53
Можно было ограничится  if($custom_outercode)...
0 под if'ом трактуется как Ложь
6 8vC1
 
23.02.13
15:58
!= замени на !==
7 8vC1
 
23.02.13
16:04
if(isset($custom_outercode)
8 orefkov
 
23.02.13
16:08
"Смешались в кучу строки, числа"
Php такой пхп.
9 8vC1
 
23.02.13
16:09
(8) Да. Сложный язык, и с каждым годом все обрастает новыми фишками. А пыхапышникам платят с каждым годом все меньше и меньше.
10 Fragster
 
гуру
23.02.13
16:32
а я вот написал генерато wsdl для функций на php
11 Fragster
 
гуру
23.02.13
16:33
совместимый с 1сным пониманием стандарта
12 sda553
 
23.02.13
17:41
(9) Когда это php сложным то стать успел? Детский лепет, а не язык
13 8vC1
 
23.02.13
18:13
(12) Да уж посложней 1С и поперспективней, только не платят достойно за знание пиэйчпи в России.
14 8vC1
 
23.02.13
18:15
(13) Но надо учить Java EE. После 1С это проще чем на С++  переходить.
15 8vC1
 
23.02.13
18:16
Предвижу я скорое загибание 1С.
16 Маленький Вопросик
 
23.02.13
18:18
(13) потому, что много быдлокодеров - сайтодельцев))) сам по себе пхп не сильно нужен... западные друзья уже написали на нем все что угодно )))
17 8vC1
 
23.02.13
18:22
(16) Вот поэтому Ява ЕЕ, и такие перспективы откроются, что будет жалко потраченного времени на 1С. :)
18 Маленький Вопросик
 
23.02.13
18:24
(17) а что ява ее??? холодильники хочешь программировать???
19 Маленький Вопросик
 
23.02.13
18:25
по мне так python поперспективнее будет, чем пхп.
на питоне могу скрипты для сервера писать с файловой системой работать
20 8vC1
 
23.02.13
18:28
(18) Ты че ? Сейчас на Яве работает много прог разных, а в корпоративном секторе сейчас просто бум на ней.
Питон тоже хорошо, но он для сисадминства больше, чем для веба.
21 Маленький Вопросик
 
23.02.13
18:29
я могу сказать так - каждый язык создан для чего-то определенного...

я работаю в области учета и торговли - естественно я работаю на 1с...
22 8vC1
 
23.02.13
18:34
Так вот переходи на Java :)  А БП все равно скоро в облаках будет, и заодно прикроют лавочку ее свободного попила, оставят только возможность подключения внешних обработок и печатных форм.
23 Маленький Вопросик
 
23.02.13
18:41
(22) после вас)))
24 kokamoonga
 
23.02.13
21:34
(20) >>>Питон тоже хорошо, но он для сисадминства больше, чем для веба.

вы это серьезно?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший