powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / что за глюк с функцией in_array()?
50 сообщений из 50, показаны все 2 страниц
что за глюк с функцией in_array()?
    #38267501
tronovav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему следующий код выводит bool(true)?
Код: php
1.
var_dump( in_array( "test", array(0) ) );


Что за глюк? Ведь в массиве нет значения "test"!!!!
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38267520
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tronovav,

читайте про приведение типов

этот пример аналогичен:
Код: php
1.
var_dump( 0 == "test" );
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38267553
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tronovav,

Угу

Код: php
1.
2.
  alert(0 == "test"); // js - false
  echo (0 == "test"); // php - true
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268226
tronovav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Понял :)
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268754
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tronovavСпасибо! Понял :)

А мне можно подокладнее объяснить? А то я что-то не совсем понял :)
Код: php
1.
2.
3.
4.
(bool)((int)'test') == (bool)0 == false; правильно понял выше сказанное?
(bool)'test' == true; ненулевое значение превращается в true

echo((bool)((int)'test') == (bool)'test'); = false?



То есть после приведения типов мы должны получить что 'test'<>'test'?

Я чего-то недопонял, или тут явно логика ломается? :)
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268819
авторЯ чего-то недопонял, или тут явно логика ломается? :)
юзай === и не ломай голову по мелочам!!!
Код: php
1.
0 === "test" // php - false
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268829
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторecho((bool)((int)'test') == (bool)'test'); = false?
интересно как из этого можно вывести что 'test'<>'test'.
альтернативная логика.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268893
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tronovavПочему следующий код выводит bool(true)?
Код: php
1.
var_dump( in_array( "test", array(0) ) );


Что за глюк? Ведь в массиве нет значения "test"!!!!


так должно

Код: php
1.
var_dump( in_array( "test", array(0) ,true) );
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268896
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторecho((bool)((int)'test') == (bool)'test'); = false?
интересно как из этого можно вывести что 'test'<>'test'.
альтернативная логика.
Я сравнивал одно и то же значение, только одно из них напрямую привёл к логическому типу, а другое привёл к нему же, но через промежуточное int . При это в одном получил true, а в другом false. Вот и спрашиваю, а это нормально? Просто по логике любое ненулевое значение после ЛЮБОГО приведения типов должно остаться ненулевым... так же и нулевое должно остаться нулевым... А в данном случае на вход подаём ненулевое значение, приводим к другому типу и на выходе получаем нулевое значение.
КАК ТАК?
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268900
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты сделал мой день.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268901
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowальтернативная логика.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268913
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowты сделал мой день.

ага... молодец... а теперь не мешай людям в обсуждении вопросов. Тебе ведь даже по теме сказать ничего и в голову не приходит. :)
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268931
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tronovavПочему следующий код выводит bool(true)?
Код: php
1.
var_dump( in_array( "test", array(0) ) );


Что за глюк? Ведь в массиве нет значения "test"!!!!


для тех кто не понял
стандартная реализация функции приведения текста в число - это даже не пхп ограничиваеться, в мускле будет тоже самое

когда мы переделываем строку в число - мы смотрим
если строка начинаеться с символа не числового - то это 0
если строка с числового символа (цифра, знак отрицательного числа, точка без ведущего нуля где это разрешено) то берём от начала строки все что относиться к числу, откидывая текст после, и вот это и будет резултат преобразования.

в мануал же отсылку дали. там же примеров куча.

для случая автора
in_array('test',array(0), true); --true, заставляет сравнивать как === , с проверкой типа
без тру, сравнение идёт с приведением типа, и строка становиться нулём.

=============
везде тру
'vasya'==0
'1vasya'==1
'23.3vasi'==23.3
'vasya1'==0
''==0
===========
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38268959
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453,

понял... Я конечно об этом тоже думал, но надеялся, а вдруг всё иначе.
За ответ спасибо
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269357
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрПросто по логике любое ненулевое значение после ЛЮБОГО приведения типов должно остаться ненулевым
есть строка $s = 'xyz';
нука скажите, в какое НЕНУЛЕВОЕ число его нужно однозначно перевести?
и объясните почему.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269360
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
ПрограмёрТо есть после приведения типов мы должны получить что 'test'<>'test'?

Я чего-то недопонял, или тут явно логика ломается? :)А то что (float)1.5 <> (int)1.5 не напрягает?
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269486
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uПрограмёрПросто по логике любое ненулевое значение после ЛЮБОГО приведения типов должно остаться ненулевым
есть строка $s = 'xyz';
нука скажите, в какое НЕНУЛЕВОЕ число его нужно однозначно перевести?
и объясните почему.
Может это всё из-за того, что я выходец из паскаля с чёткой типимизацией и никак не могу привыкнуть. Но... мне квжется более правильным приведение любой ненулевой строки к единице (или например к количеству символов в строке... не важно), а нулевой - к нулю. А перевод строки в число осуществлять с помощью функции intval например.

Но как уже говорил, мне просто придётся привыкнуть.

P.S. мнрго моих проблем связано с автоматическим приведением типов, когда строка "0" по непонятным мне причинам понимается как число 0, а при выводе пользователю переводится обратно в строку как "". То есть стараюсь вывести "0", а получаю "". Как такое побороть?
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269499
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрКак такое побороть?
не полагаться на автоматическое приведение типов - а делать это самому вручную. и приводить к тем типам которые нужны по логике программы.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269523
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uПрограмёрКак такое побороть?
не полагаться на автоматическое приведение типов - а делать это самому вручную. и приводить к тем типам которые нужны по логике программы.

не получается, так как даже strval мне возвращает не "0", а "". Такие ситуации обходил по-деревенски через $str=="" ? "0" : $str . Но это ведь не нормально... Как-то ведь такое должно решаться?

P.S. Если везде приводить типы вручную, тогда какая вообще польза от автоматического приведения типов? Тогда оно просто мешает и заставляет писать более сложные и менее легкочитаемые конструкции.

P.P.S прошу рассматривать мои рассуждения не как попытка доказать, что пхп - это неправильно, а просто как выражения своего непонимания некоторых принципов и попытку найти помощь в их понимании.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269546
Inkelyad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r uесть строка $s = 'xyz';
нука скажите, в какое НЕНУЛЕВОЕ число его нужно однозначно перевести?
и объясните почему.
<мрачно> оно вообще не должно приводиться. Должно выкидываться исключение.
Ну или приводиться в null. Но тогда сравнение null == 0 должно выдавать false.

В общем, рассуждений на тему приведения типов в php и так полно, так что не стоит углубляться. to Програмёр: можно считать, что общих принципов нет. И попытаться вызубрить
таблицы на http://php.net/manual/en/types.comparisons.php
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269549
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрЕсли везде приводить типы вручную, тогда какая вообще польза от автоматического приведения типов?Ну, все же, механизм автоматического преобразования типов данных работает и в большинстве случаев правила преобразований достаточно просты. Что касается нюансов - так они есть в любой более-менее сложной системе.

ПрограмёрТогда оно просто мешает и заставляет писать более сложные и менее легкочитаемые конструкции.Скорее, более подконтрольные. А оттуда уже и сложность конструкций.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269692
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uПрограмёрПросто по логике любое ненулевое значение после ЛЮБОГО приведения типов должно остаться ненулевым
есть строка $s = 'xyz';
нука скажите, в какое НЕНУЛЕВОЕ число его нужно однозначно перевести?
и объясните почему.

а это не верно - что любое не нулевое значение после преобразования типа должно оставаться не нулевым. ??? это кто тебе такое сказал?

контр пример

значение 1 - обьект, содержащий втом числе вбыорку из базы которая пустая. - не нулевое
при преобразовании в масив выдаёт пустой масив (магический метод) - нулевое

клас - это тоже тип данных!

боллее того, что значит преобразование типа...просто вдумайся в сам термин.
это значит что мы имеем два значения, которые по своей природе не одно и тоже, ну скажем строка ПЕТЯ, и масив с одним елементом ПЕТЯ.

первое это однозначное значение, второе, это набор значений, который пока что состоит из одного.

преобразования типа, это проекция значения одного на другое.

проекция одного отрезка не нулевой длины, на другой отрезок всегда даст не нулевую длину???
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269699
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрScareCrowпропущено...

интересно как из этого можно вывести что 'test'<>'test'.
альтернативная логика.
Я сравнивал одно и то же значение, только одно из них напрямую привёл к логическому типу, а другое привёл к нему же, но через промежуточное int . При это в одном получил true, а в другом false. Вот и спрашиваю, а это нормально? Просто по логике любое ненулевое значение после ЛЮБОГО приведения типов должно остаться ненулевым... так же и нулевое должно остаться нулевым... А в данном случае на вход подаём ненулевое значение, приводим к другому типу и на выходе получаем нулевое значение.
КАК ТАК?

очень легко
если
а==б

то и

ф(а)==ф(б) НО! не ф(а)==х(б) - ЛОЖНО!!!!
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269719
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёрr uпропущено...

есть строка $s = 'xyz';
нука скажите, в какое НЕНУЛЕВОЕ число его нужно однозначно перевести?
и объясните почему.
Может это всё из-за того, что я выходец из паскаля с чёткой типимизацией и никак не могу привыкнуть. Но... мне квжется более правильным приведение любой ненулевой строки к единице (или например к количеству символов в строке... не важно), а нулевой - к нулю. А перевод строки в число осуществлять с помощью функции intval например.

Но как уже говорил, мне просто придётся привыкнуть.

P.S. мнрго моих проблем связано с автоматическим приведением типов, когда строка "0" по непонятным мне причинам понимается как число 0, а при выводе пользователю переводится обратно в строку как "". То есть стараюсь вывести "0", а получаю "". Как такое побороть?

Паскаль сдесь непричом, я тоже оттуда. Просто ты пхп учил не досконально как воощемто все, а по краткому курсу, и где информация о деталях отсутсвовала, мозг допридумал, и теперь кажеться не привычным :)

а вообще, опять же- всё зависит от нашей логики. да - можно посмотреть на строку, как елемент при преобразовании в число должна быть её длина НО!!!

Язык пхп изначально это текстовый препроцессор. он для обработки текста. тоесть предполагаеться что все данные (числа, логические, итд) изначально и на выходе по сути текст.

внутри ядра пхп есть понятие типа - но это больше для оптимизации работы, чем для тебя.

тоесть я веду к тому, что 'test'==0 , как бы выразиться, это аналог ошибки на паскале при попытке сравнить string vs integer
ток сдесь религия языка не позволяет ошибку генерировать, так как сказал бог, да будет текст, и не будет других типов , и всё можно свести к тексту, и текст можно свести ко всему. вот и получаем 0 из текста, где нету числа.

по сути этот 0 после преобразования - это как ошибка бы была в паскале ...аля мужик - тут как бы нет текста.

в паскале что будет strToInt('vasya') ??? 5? 1? или что?
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269828
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453а это не верно - что любое не нулевое значение после преобразования типа должно оставаться не нулевым. ??? это кто тебе такое сказал?
это здравый смысл. а тебе кто сказал что должно быть наоборот?
посмотри другие языки, если нет четкого алгоритма перобразования одного к другому - то значение обнуляется или кидается исключение.
это вполне логично. ибо компилятор незнает как однозначно преобразовать одно в другое. НЕТ ТАКОГО АЛГОРИТМА! предложи если можешь.

это поведение предсказуемо и ограничивает от многих ошибок. а по твоей логике. ждем число. пришла в реальности срока с текстом. какиемто образом строка преобразовалась к КАКОМУТО числу(совершенно ХЗ какое будет). алгоритм даже неузнает что на входе мусор а не данные. и продолжит далее вычисления , ведь он получил не ноль а НЕКОЕ число. и в итоге чегото там насчитает, что по сути никому не даст никакой пользы. ибо раз пришел мусор то и считать ничего не надо было.

потому то - лучше обнулить. так хоть сразу ясно что с данными чтото не то.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269840
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453если а==б
то и ф(а)==ф(б)
ню ню
Код: php
1.
2.
3.
4.
5.
6.
$a=1;
$b=1;
function f($in){
 static $s=0;
 return $in*$s++;
}
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269910
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453в паскале что будет strToInt('vasya') ??? 5? 1? или что?
Дело в том, что я не знаю что оно отдаст (по-моему это уже из делфей пошло), так как в free pascal такой функции не находит, а у меня только он установлен. Думаю exception выкинет. В паскале с дозапамятных времём есть функция val. Так вот, в случае если строка не является числом, паскаль вернёт код ошибки в специально переданную переменную.

С чего следует, что если строка - это не число, то паскаль отдаст ошибку в каком либо виде. А пхп просто переведёт в ноль (или ещё во что) и не задумается.

Опять же, как выходец именно из паскаля, могу сказать, что логика того языка предусматривает, что любое ненулевое значение может быть переведено только в ненулевое значение. Исключением является строка "0", которая переведётся в число 0, но и при обратном переводе в строку мы получим не "" как в php, а именно "0", что доказывает однозначную логику работы программы.

Сколько Вы там не переводите типы из одно в другой, если точность типов одинакова (то есть, если не переводить double в single например, как было предложено ранее с float и int), то в результате при переводе в исходный тип Вы получите значение равное исходному.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269951
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрИсключением является строка "0", которая переведётся в число 0, но и при обратном переводе в строку мы получим не "" как в php, а именно "0", что доказывает однозначную логику работы программы.
вы о чем?

Код: php
1.
2.
echo (string)0;
echo (int)'0';


выведет 00
тоесть в обоих случаях ноль, и нигде он не превратился в пустую строку
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269955
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторф(а)==ф(б)
Код: php
1.
2.
3.
function f($a){
return $a*0;
}


смеялсо.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269957
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жги дальше.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269961
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowавторф(а)==ф(б)
Код: php
1.
2.
3.
function f($a){
return $a*0;
}


смеялсо.

всеобщий уравнитель. позволяет доказать что 2==5.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269987
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r ualex564657498765453если а==б
то и ф(а)==ф(б)
ню ню
Код: php
1.
2.
3.
4.
5.
6.
$a=1;
$b=1;
function f($in){
 static $s=0;
 return $in*$s++;
}



ScareCrowScareCrowпропущено...

Код: php
1.
2.
3.
function f($a){
return $a*0;
}


смеялсо.

всеобщий уравнитель. позволяет доказать что 2==5.

Данное изречение позволяет доказать, что ты не программист.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38269999
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрДанное изречение позволяет доказать, что ты не программист.
аха. "настоящие программисты" немогут преобразовать 0 в '0', как оказалось
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38270004
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
алгоритьм 0=="test": видим первый параметр число, пытаемся и второй перевести в число, неполучаецца, тады первый переводим в строку и сравниваем со вторым "0"=="test", возвращаем false, как-то так.

Кстати, в javascript (0=="test") вернёт false, а (5=="5") true, привыкаешь к "очевидности".
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38270011
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторпытаемся и второй перевести в число, неполучаецца ,
в php прекрасно получается.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38270015
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uПрограмёрДанное изречение позволяет доказать, что ты не программист.
аха. "настоящие программисты" немогут преобразовать 0 в '0', как оказалось

в контроллере Yii
Код: php
1.
2.
3.
4.
5.
    if($counts['sentWeek']==0){
      $count['emptyTemplateWeekProcent']=0;
    }else{
      $count['emptyTemplateWeekProcent'] = round($counts['emptyTemplateWeek']/$counts['sentWeek']*100);
    }



в представлении Yii
Код: php
1.
2.
3.
4.
  <div>
    <?= $counts['emptyTemplateWeek'] ?> 
    (<?= (string)$counts['emptyTemplateWeekProcent'] ?>%)
  </div>



Если $count['emptyTemplateWeekProcent']==0 на выходе получаем 0(%) . Как видим первое значение преобразовалось верно (в "0"), а второе в "" (то, что в скобках). Скажите, в чём моя ошибка, раз обвинили меня в некомпетентности...
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38270037
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
настоящие программисты не пользуют var_dump!
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38270041
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр,

в том, что у вас сверху массив называется $count, а ниже выводите из $count s
а значения там просто НЕТ!
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38270057
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uПрограмёр,

в том, что у вас сверху массив называется $count, а ниже выводите из $count s
а значения там просто НЕТ!

Да )) уже понял... извиняюсь, не прав.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38270092
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрДа )) уже понял... извиняюсь, не прав.
бывает.
просто сделайте правильные выводы. проблем всяких и странностей хватает в php конечно.
но зачастую, если чтото работает не так в скриптах, то на 99% это проблема в самом скрипте(опечатки, ошибки логики и т.д.), а не в языке.

если бы он был настолько глючным и непредсказуемым в поведении то им бы никто не пользовался.
и забудьте уже паскакаль и дельфи, нельзя сравнивать их с php. это совсем разные идеологии.
так же как нельзя после пхп искать похожесь в питоне или ява. у каждого свои особенности. если бы они вели себя идентично то это был бы один язык а не несколько.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38270267
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
ПрограмёрОпять же, как выходец именно из паскаля, могу сказать, что логика того языка предусматривает, что любое ненулевое значение может быть переведено только в ненулевое значение.Приведите 0.41 к целому и убедитесь, что ненулевое значение может быть переведено в нулевое.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38270350
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?ПрограмёрОпять же, как выходец именно из паскаля, могу сказать, что логика того языка предусматривает, что любое ненулевое значение может быть переведено только в ненулевое значение.Приведите 0.41 к целому и убедитесь, что ненулевое значение может быть переведено в нулевое.

Вы мне толкаете идею разной размерности... Понятное дело, что данному типу не хватает точности, что бы сохранить данную переменную без изменений. Но, если Вы будете сравнивать (int)1.00==(float)1.00, то у Вас всё получится :)
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38271180
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрОпять же, как выходец именно из паскаля, могу сказать, что логика того языка предусматривает, что любое ненулевое значение может быть переведено только в ненулевое значение.
опять голословные утверждения?
есть строка 'xyz'
покажите как паскаль приведёт её к ненулевому целому числу?
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38271206
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uПрограмёрОпять же, как выходец именно из паскаля, могу сказать, что логика того языка предусматривает, что любое ненулевое значение может быть переведено только в ненулевое значение.
опять голословные утверждения?
есть строка 'xyz'
покажите как паскаль приведёт её к ненулевому целому числу?

Покажите пример, как в паскале привести строку "xyz" к любому числу (даже к нулю), и я соглашусь, что мне пора усилено читать книжки по паскалю )
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38271213
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрПокажите пример, как в паскале привести строку "xyz" к любому числу (даже к нулю), и я соглашусь, что мне пора усилено читать книжки по паскалю )
я НЕговорил что это возможно, в отличии от вас!
наоборот, я вторую страницу форума, пытаюсь вам сказать что это сделать НЕЛЬЗЯ!
а вы говорите:Програмёркак выходец из паскаля, могу сказать, что логика того языка предусматривает , что любое ненулевое значение может быть переведено только в ненулевое значение.ваши слова? ВАШИ!

жду пример кода который их(ваши слова) подтверждает, либо признания что сморозили "херню"!
либо станет ясно кто тут "пи..дабол" а кто нет
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38271259
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uПрограмёрПокажите пример, как в паскале привести строку "xyz" к любому числу (даже к нулю), и я соглашусь, что мне пора усилено читать книжки по паскалю )
я НЕговорил что это возможно, в отличии от вас!
наоборот, я вторую страницу форума, пытаюсь вам сказать что это сделать НЕЛЬЗЯ!
а вы говорите:Програмёркак выходец из паскаля, могу сказать, что логика того языка предусматривает , что любое ненулевое значение может быть переведено только в ненулевое значение.ваши слова? ВАШИ!

жду пример кода который их(ваши слова) подтверждает, либо признания что сморозили "херню"!
либо станет ясно кто тут "пи..дабол" а кто нет

Признал, что ошибся, так Вы меня задавить решили? :)
Тут просматривается тонкая разница между фразами "любое ненулевое значение может быть переведено ТОЛЬКО в ненулевое значение" и "любое ненулевое значение может быть переведено в ненулевое значение"

ПрограмёрДело в том, что я не знаю что оно отдаст (по-моему это уже из делфей пошло), так как в free pascal такой функции не находит, а у меня только он установлен. Думаю exception выкинет. В паскале с дозапамятных времём есть функция val. Так вот, в случае если строка не является числом, паскаль вернёт код ошибки в специально переданную переменную.

С чего следует, что если строка - это не число, то паскаль отдаст ошибку в каком либо виде. А пхп просто переведёт в ноль (или ещё во что) и не задумается.
А вот это Вы видимо пропустили.

r uжду пример кода который их(ваши слова) подтверждает, либо признания что сморозили "херню"!
либо станет ясно кто тут "пи..дабол" а кто нет
Код не предоставил, херню не признал (так как не сморозил)... интересно... Стало ясно кто "пи..дабол"?
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38271341
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрПризнал, что ошибся, так Вы меня задавить решили?
разница настолько тонкая, что я её невижу.
"МОЖЕТ БЫТЬ ПЕРЕВЕДЕНО" - тут главное. а раз может, то хочется примера - как именно может. чтобы понять что именно имелось в виду.

давить никто вас и не пытался. сами своими словами загнали себя в угол. из которого теперь незнаете как выйти. хотя пути я вам указал. но пока ни примера кода в защиту ваших слов ни признания нет.

уговаривать несобираюсь. тема закрыта. мне все и так ясно.
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38271357
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrowнастоящие программисты не пользуют var_dump!
Поделись секретом - что используют крутые пацаны?!
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38271454
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Програмёр?пропущено...
Приведите 0.41 к целому и убедитесь, что ненулевое значение может быть переведено в нулевое.

Вы мне толкаете идею разной размерности... Понятное дело, что данному типу не хватает точности, что бы сохранить данную переменную без изменений. Но, если Вы будете сравнивать (int)1.00==(float)1.00, то у Вас всё получится :)Ну дак и чтобы строку сохранить без изменений, int чего-то не хватает :)
...
Рейтинг: 0 / 0
что за глюк с функцией in_array()?
    #38271540
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uПрограмёрПризнал, что ошибся, так Вы меня задавить решили?
разница настолько тонкая, что я её невижу.
"МОЖЕТ БЫТЬ ПЕРЕВЕДЕНО" - тут главное. а раз может, то хочется примера - как именно может. чтобы понять что именно имелось в виду.

давить никто вас и не пытался. сами своими словами загнали себя в угол. из которого теперь незнаете как выйти. хотя пути я вам указал. но пока ни примера кода в защиту ваших слов ни признания нет.

уговаривать несобираюсь. тема закрыта. мне все и так ясно.

Долго думал что ответить... Но понял, что оправдываться как-то не хочется (ведь я знаю, о чём я думал, когда писал). А по теме написать и не получится ничего толкового, как-то странно спорить придерживаясь одинакового мнения.

Неизвестный гость "?" :). Верно говорите... Приблизительно понимаю, как мыслили разработчики когда придумывали приведение строки к числу. Но... Мне видимо религия не позволяет принять приведение переменной к другому типу при нарушении формата ввода. :)
...
Рейтинг: 0 / 0
50 сообщений из 50, показаны все 2 страниц
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / что за глюк с функцией in_array()?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]