yong Posted October 25, 2006 Share Posted October 25, 2006 this is my test code[code]<?phpvar_dump('1' >'a');//bool(false)var_dump('97'>'a');//ASCⅡ a->97//bool(false)var_dump('97'<'a');//bool(true)var_dump('98'>'a');//bool(false)?>[/code]i want to know why?why i can receive this result?what is they compare with eachother's standard?my english is very poor ,i am chineseif you can't understand hat i said ,please reaply to me?think you very much Link to comment https://forums.phpfreaks.com/topic/25011-question-about-string/ Share on other sites More sharing options...
btherl Posted October 25, 2006 Share Posted October 25, 2006 When comparing strings, "lexical comparison" is used.1st character of string is compared, then 2nd character, then 3rd, ...If you compare "123" and "abc", php will check "1" and "a", using an ascii table like this: http://www.lookuptables.com/If you compare "123" and "12c", php will check "1" and "1", then "2" and "2", then "3" and "c". It looks for the first difference.BUT, if you compare "123" and "321", php will compare them as numbers. It only compares strings if it cannot convert them to numbers. If you always want string comparison, you can use strcmp() Link to comment https://forums.phpfreaks.com/topic/25011-question-about-string/#findComment-113993 Share on other sites More sharing options...
yong Posted October 25, 2006 Author Share Posted October 25, 2006 i understand this think you very much btherl ..:) Link to comment https://forums.phpfreaks.com/topic/25011-question-about-string/#findComment-113999 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.