PHP рдореЗрдВ рддрд╛рд░реНрдХрд┐рдХ рддреБрд▓рдирд╛ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

4 рдЕрдкреНрд░реИрд▓ рдХреЛ, PHP рдореЗрдВ рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдЯреИрдХрдУрд╡рд░рдлрд╝реНрд▓реЛ рдкрд░ рдПрдХ рдкреНрд░рд╢реНрди рдЙрддреНрдкрдиреНрди рд╣реБрдЖ ред рд▓рдЧрднрдЧ рддреБрд░рдВрдд, рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╡рд╛рдм рдорд┐рд▓рд╛ред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╖рдп рд╣реИред

рд╕рд╡рд╛рд▓


PHP рдЕрдкрдиреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд┐рджреНрдз рд╣реИред рдореИрдВрдиреЗ рддреБрд▓рдирд╛рддреНрдордХ рддрд░реНрдХ рдХреА рдореВрд▓ рдмрд╛рддреЛрдВ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдпрджрд┐ $a > $b рд╕рддреНрдп рд╣реИ рдФрд░ $b > $c рд╕рддреНрдп рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ $a > $c рднреА рд╕рддреНрдп рд╣реИ?

рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдд, рдореИрдВ рдорд╛рди рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рднреА рд╕рдЪ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ PHP рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдХреЛрдИ рдореБрдЭреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдХрдерди рдЧрд▓рдд рд╣реЛрдЧрд╛?

рдореБрдЭреЗ "рдЕрдзрд┐рдХ" рдФрд░ "рдХрдо" рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдХрд╛рдо рдореЗрдВ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдЬрдм рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ рддреЛ рддреБрд▓рдирд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛:
 # precondition: if ($a === $b) { throw new Exception( 'both are strictly equal, can not compare strictly for greater or smaller' ); } ($a > $b) !== ($b > $a) 

рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рддреБрд▓рдирд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдХрдо / рдЕрдзрд┐рдХ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЬрд╡рд╛рдм рд╣реИ


рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдкрд░ PHP рдореЗрдВ рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░ рд╡рд┐рд╣рд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ:

рд╕рдорд╛рдирддрд╛ рдХрд╛ рд╕рдВрдмрдВрдз рдЪрд┐рдВрддрдирд╢реАрд▓, рд╕рдордорд┐рдд рдФрд░ рд╕рдХрд░реНрдордХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:


рд╕рдВрдмрдВрдз <= / >= рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдВрдЯреАрд╕рд┐рдореЗрдЯреНрд░рд┐рдХ рдФрд░ рд╕рдХрд░реНрдордХ:

рд╕рдЦреНрдд рдЕрд╕рдорд╛рдирддрд╛ рдХрд╛ рд╕рдВрдмрдВрдз < / > рдкреНрд░рддрд┐-рд╡рд┐рд░реЛрдзреА, рдЕрд╕рдордорд┐рдд рдФрд░ рд╕рдХрд░реНрдордХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:


рдЖрдк рд▓реЗрдЦ PHP рджреБ: рдЦ 52 - рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░реЛрдВ рдореЗрдВ рдХреБрдЫ рдЕрджреНрднреБрдд рд░реЗрдЦрд╛рдВрдХрди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ PHP рдореЗрдВ рджреЛ рд╕рдорд╛рдирддрд╛рдПрдВ (рд▓рдЧрднрдЧ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд) рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рджреБрднрд╛рд╖рд┐рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд░реВрдк рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИ:
 ($a > $b) == ($b < $a) ($a >= $b) == ($b <= $a) 

UPD: рджреВрд╕рд░рд╛ рдЬрд╡рд╛рдм


PHP рдореЗрдВ (рд╕рдВрд╕реНрдХрд░рдг 5.5.0beta2 рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ) рдХреЛрдИ рд╕рдЦреНрдд рддреБрд▓рдирд╛ рдирд╣реАрдВ рд╣реИ == рдпрд╛ <== рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ / рдХрдо рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:
  1. рдЪрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ if ( gettype($a)===gettype($b) ) ...
  2. рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд░ рдбрд╛рд▓реЗ if ( (string)$a===(string)$b ) ...
  3. рдЯрд╛рдЗрдк рд╣реЗрд░рдлреЗрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ if ( ($a.'')===($b.'') ) ...

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░ рднреА рдзреНрдпрд╛рди рджреЗрдВ:

рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддреБрд▓рдирд╛
рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ
  $a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b float(NAN) float(-INF) false false false false false false float(NAN) float(0) false false false false false false float(NAN) float(1) false false false false false false float(NAN) float(INF) false false false false false false float(NAN) float(NAN) false false false false false false float(NAN) int(-1) false false false false false false float(NAN) int(0) false false false false false false float(NAN) int(1) false false false false false false 
рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдзреНрдпрд╛рди: рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрддреНрддрд░ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ NAN рдХреЗ рд╕рд╛рде рдХреЛрдИ рднреА рддреБрд▓рдирд╛ рдЭреВрдареА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред

рд╕рдорд╛рди рд▓реЗрдХрд┐рди рд╕рдорд╛рди рдирд╣реАрдВ
  $a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b NULL(NULL) array() false false true true true false NULL(NULL) bool(false) false false true true true false NULL(NULL) float(0) false false true true true false NULL(NULL) int(0) false false true true true false NULL(NULL) str('') false false true true true false array() bool(false) false false true true true false bool(false) float(0) false false true true true false bool(false) int(0) false false true true true false str('') bool(false) false false true true true false bool(false) str('0') false false true true true false float(-INF) bool(true) false false true true true false bool(true) float(1) false false true true true false float(INF) bool(true) false false true true true false float(NAN) bool(true) false false true true true false bool(true) int(-1) false false true true true false bool(true) int(1) false false true true true false bool(true) str("\0") false false true true true false bool(true) str('+') false false true true true false bool(true) str('-') false false true true true false bool(true) str('01') false false true true true false bool(true) str('1') false false true true true false bool(true) str('false') false false true true true false str('text') bool(true) false false true true true false str('true') bool(true) false false true true true false int(0) float(0) false false true true true false str("\0") float(0) false false true true true false str('') float(0) false false true true true false str('+') float(0) false false true true true false str('-') float(0) false false true true true false str('0') float(0) false false true true true false str('false') float(0) false false true true true false str('text') float(0) false false true true true false str('true') float(0) false false true true true false int(1) float(1) false false true true true false float(1) str('01') false false true true true false float(1) str('1') false false true true true false str("\0") int(0) false false true true true false str('') int(0) false false true true true false str('+') int(0) false false true true true false str('-') int(0) false false true true true false int(0) str('0') false false true true true false str('false') int(0) false false true true true false str('text') int(0) false false true true true false str('true') int(0) false false true true true false int(1) str('01') false false true true true false int(1) str('1') false false true true true false str('1') str('01') false false true true true false 

рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ?
  $a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b float(NAN) str("\0") true true true true false false float(NAN) str('') true true true true false false float(NAN) str('+') true true true true false false float(NAN) str('-') true true true true false false float(NAN) str('0') true true true true false false float(NAN) str('01') true true true true false false float(NAN) str('1') true true true true false false float(NAN) str('false') true true true true false false float(NAN) str('text') true true true true false false float(NAN) str('true') true true true true false false 

рд╣реВрдмрд╣реВ
  $a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b NULL(NULL) NULL(NULL) false false true true true true float(-INF) float(-INF) false false true true true true float(INF) float(INF) false false true true true true 

рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛
  $a VS. $b $a>$b $a<$b $a<=$b $a>=$b $a==$b $a===$b NULL(NULL) bool(true) false true true false false false float(-INF) NULL(NULL) true false false true false false NULL(NULL) float(1) false true true false false false float(INF) NULL(NULL) true false false true false false float(NAN) NULL(NULL) true false false true false false NULL(NULL) int(-1) false true true false false false NULL(NULL) int(1) false true true false false false NULL(NULL) str("\0") false true true false false false NULL(NULL) str('+') false true true false false false NULL(NULL) str('-') false true true false false false NULL(NULL) str('0') false true true false false false NULL(NULL) str('01') false true true false false false NULL(NULL) str('1') false true true false false false NULL(NULL) str('false') false true true false false false NULL(NULL) str('text') false true true false false false NULL(NULL) str('true') false true true false false false array() bool(true) false true true false false false float(-INF) array() false true true false false false array() float(0) true false false true false false array() float(1) true false false true false false float(INF) array() false true true false false false float(NAN) array() false true true false false false array() int(-1) true false false true false false array() int(0) true false false true false false array() int(1) true false false true false false array() str("\0") true false false true false false str('') array() false true true false false false array() str('+') true false false true false false array() str('-') true false false true false false array() str('0') true false false true false false array() str('01') true false false true false false array() str('1') true false false true false false array() str('false') true false false true false false array() str('text') true false false true false false array() str('true') true false false true false false bool(true) bool(false) true false false true false false float(-INF) bool(false) true false false true false false float(1) bool(false) true false false true false false float(INF) bool(false) true false false true false false float(NAN) bool(false) true false false true false false bool(false) int(-1) false true true false false false int(1) bool(false) true false false true false false bool(false) str("\0") false true true false false false bool(false) str('+') false true true false false false bool(false) str('-') false true true false false false bool(false) str('01') false true true false false false str('1') bool(false) true false false true false false bool(false) str('false') false true true false false false str('text') bool(false) true false false true false false str('true') bool(false) true false false true false false bool(true) float(0) true false false true false false bool(true) int(0) true false false true false false str('') bool(true) false true true false false false bool(true) str('0') true false false true false false float(-INF) float(0) false true true false false false float(-INF) float(1) false true true false false false float(INF) float(-INF) true false false true false false float(-INF) int(-1) false true true false false false float(-INF) int(0) false true true false false false float(-INF) int(1) false true true false false false float(-INF) str("\0") false true true false false false float(-INF) str('') false true true false false false float(-INF) str('+') false true true false false false float(-INF) str('-') false true true false false false float(-INF) str('0') false true true false false false float(-INF) str('01') false true true false false false float(-INF) str('1') false true true false false false float(-INF) str('false') false true true false false false float(-INF) str('text') false true true false false false float(-INF) str('true') false true true false false false float(1) float(0) true false false true false false float(INF) float(0) true false false true false false float(0) int(-1) true false false true false false int(1) float(0) true false false true false false float(0) str('01') false true true false false false str('1') float(0) true false false true false false float(INF) float(1) true false false true false false float(1) int(-1) true false false true false false float(1) int(0) true false false true false false float(1) str("\0") true false false true false false str('') float(1) false true true false false false float(1) str('+') true false false true false false float(1) str('-') true false false true false false float(1) str('0') true false false true false false float(1) str('false') true false false true false false str('text') float(1) false true true false false false str('true') float(1) false true true false false false float(INF) int(-1) true false false true false false float(INF) int(0) true false false true false false float(INF) int(1) true false false true false false float(INF) str("\0") true false false true false false float(INF) str('') true false false true false false float(INF) str('+') true false false true false false float(INF) str('-') true false false true false false float(INF) str('0') true false false true false false float(INF) str('01') true false false true false false float(INF) str('1') true false false true false false float(INF) str('false') true false false true false false float(INF) str('text') true false false true false false float(INF) str('true') true false false true false false int(0) int(-1) true false false true false false int(1) int(-1) true false false true false false str("\0") int(-1) true false false true false false str('') int(-1) true false false true false false str('+') int(-1) true false false true false false str('-') int(-1) true false false true false false str('0') int(-1) true false false true false false int(-1) str('01') false true true false false false str('1') int(-1) true false false true false false str('false') int(-1) true false false true false false str('text') int(-1) true false false true false false str('true') int(-1) true false false true false false int(1) int(0) true false false true false false int(0) str('01') false true true false false false str('1') int(0) true false false true false false int(1) str("\0") true false false true false false str('') int(1) false true true false false false int(1) str('+') true false false true false false int(1) str('-') true false false true false false int(1) str('0') true false false true false false int(1) str('false') true false false true false false str('text') int(1) false true true false false false str('true') int(1) false true true false false false str('') str("\0") false true true false false false str('+') str("\0") true false false true false false str('-') str("\0") true false false true false false str("\0") str('0') false true true false false false str("\0") str('01') false true true false false false str('1') str("\0") true false false true false false str('false') str("\0") true false false true false false str('text') str("\0") true false false true false false str('true') str("\0") true false false true false false str('') str('+') false true true false false false str('') str('-') false true true false false false str('') str('0') false true true false false false str('') str('01') false true true false false false str('') str('1') false true true false false false str('') str('false') false true true false false false str('') str('text') false true true false false false str('') str('true') false true true false false false str('-') str('+') true false false true false false str('+') str('0') false true true false false false str('+') str('01') false true true false false false str('1') str('+') true false false true false false str('false') str('+') true false false true false false str('text') str('+') true false false true false false str('true') str('+') true false false true false false str('-') str('0') false true true false false false str('-') str('01') false true true false false false str('1') str('-') true false false true false false str('false') str('-') true false false true false false str('text') str('-') true false false true false false str('true') str('-') true false false true false false str('0') str('01') false true true false false false str('1') str('0') true false false true false false str('false') str('0') true false false true false false str('text') str('0') true false false true false false str('true') str('0') true false false true false false str('false') str('01') true false false true false false str('text') str('01') true false false true false false str('true') str('01') true false false true false false str('1') str('false') false true true false false false str('text') str('1') true false false true false false str('true') str('1') true false false true false false str('text') str('false') true false false true false false str('true') str('false') true false false true false false str('true') str('text') true false false true false false 

$ A> $ b> $ c рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЬрд┐рд╕рдореЗрдВ $ a рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ $ c рдкрд░ рд╣реИ
 A<C : float(NAN) > str('a') > str('') A<C : float(NAN) > str('a') > str('1') A<C : float(NAN) > str('a') > str('A') A<C : float(NAN) > str('a') > str('0') A<C : float(NAN) > str('1') > str('') A<C : float(NAN) > str('1') > str('0') A<C : float(NAN) > str('A') > str('') A<C : float(NAN) > str('A') > str('1') A<C : float(NAN) > str('A') > str('0') A<C : float(NAN) > str('0') > str('') A==C : str('') > float(NAN) > NULL(NULL) A===C : str('') > float(NAN) > str('') A<C : str('') > float(NAN) > str('a') A<C : str('') > float(NAN) > str('1') A==C : str('') > float(NAN) > bool(false) A<C : str('') > float(NAN) > str('A') A<C : str('') > float(NAN) > str('0') A==C : str('') > float(-INF) > NULL(NULL) A==C : str('') > float(-INF) > bool(false) A==C : str('') > int(-1) > NULL(NULL) A==C : str('') > int(-1) > bool(false) A==C : str('') > float(-1) > NULL(NULL) A==C : str('') > float(-1) > bool(false) A==C : array() > float(NAN) > NULL(NULL) A==C : array() > float(NAN) > bool(false) A==C : array() > float(INF) > NULL(NULL) A==C : array() > float(INF) > bool(false) A==C : array() > float(-INF) > NULL(NULL) A==C : array() > float(-INF) > bool(false) A==C : array() > str('a') > NULL(NULL) A==C : array() > str('a') > bool(false) A==C : array() > int(1) > NULL(NULL) A==C : array() > int(1) > bool(false) A==C : array() > float(1) > NULL(NULL) A==C : array() > float(1) > bool(false) A==C : array() > str('1') > NULL(NULL) A==C : array() > str('1') > bool(false) A==C : array() > str('A') > NULL(NULL) A==C : array() > str('A') > bool(false) A==C : array() > str('0') > NULL(NULL) A==C : array() > int(-1) > NULL(NULL) A==C : array() > int(-1) > bool(false) A==C : array() > float(-1) > NULL(NULL) A==C : array() > float(-1) > bool(false) A===C : str('a') > float(NAN) > str('a') A<C : str('a') > str('') > float(NAN) A<C : str('a') > str('1') > float(NAN) A==C : str('a') > str('1') > int(0) A==C : str('a') > str('1') > float(0) A<C : str('a') > str('A') > float(NAN) A<C : str('a') > str('0') > float(NAN) A==C : bool(true) > str('') > float(NAN) A==C : bool(true) > str('') > float(-INF) A==C : bool(true) > str('') > int(-1) A==C : bool(true) > str('') > float(-1) A==C : bool(true) > array() > float(NAN) A==C : bool(true) > array() > float(INF) A==C : bool(true) > array() > float(-INF) A==C : bool(true) > array() > str('a') A==C : bool(true) > array() > int(1) A==C : bool(true) > array() > float(1) A==C : bool(true) > array() > str('1') A==C : bool(true) > array() > str('A') A==C : bool(true) > array() > int(-1) A==C : bool(true) > array() > float(-1) A==C : bool(true) > int(0) > float(-INF) A==C : bool(true) > int(0) > int(-1) A==C : bool(true) > int(0) > float(-1) A==C : bool(true) > str('0') > float(NAN) A==C : bool(true) > str('0') > float(-INF) A==C : bool(true) > str('0') > int(-1) A==C : bool(true) > str('0') > float(-1) A==C : bool(true) > float(0) > float(-INF) A==C : bool(true) > float(0) > int(-1) A==C : bool(true) > float(0) > float(-1) A==C : int(1) > str('a') > str('1') A==C : int(1) > str('A') > str('1') A==C : float(1) > str('a') > str('1') A==C : float(1) > str('A') > str('1') A<C : str('1') > float(NAN) > str('a') A===C : str('1') > float(NAN) > str('1') A<C : str('1') > float(NAN) > str('A') A<C : str('1') > str('') > float(NAN) A<C : str('1') > str('0') > float(NAN) A<C : str('A') > float(NAN) > str('a') A===C : str('A') > float(NAN) > str('A') A<C : str('A') > str('') > float(NAN) A<C : str('A') > str('1') > float(NAN) A==C : str('A') > str('1') > int(0) A==C : str('A') > str('1') > float(0) A<C : str('A') > str('0') > float(NAN) A==C : int(0) > float(-INF) > NULL(NULL) A==C : int(0) > float(-INF) > bool(false) A==C : int(0) > int(-1) > NULL(NULL) A==C : int(0) > int(-1) > bool(false) A==C : int(0) > float(-1) > NULL(NULL) A==C : int(0) > float(-1) > bool(false) A<C : str('0') > float(NAN) > str('a') A<C : str('0') > float(NAN) > str('1') A==C : str('0') > float(NAN) > bool(false) A<C : str('0') > float(NAN) > str('A') A===C : str('0') > float(NAN) > str('0') A==C : str('0') > float(-INF) > bool(false) A<C : str('0') > str('') > float(NAN) A==C : str('0') > int(-1) > bool(false) A==C : str('0') > float(-1) > bool(false) A==C : float(0) > float(-INF) > NULL(NULL) A==C : float(0) > float(-INF) > bool(false) A==C : float(0) > int(-1) > NULL(NULL) A==C : float(0) > int(-1) > bool(false) A==C : float(0) > float(-1) > NULL(NULL) A==C : float(0) > float(-1) > bool(false) 

рдордЬреЗрджрд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рддреБрд▓рдирд╛: 'Queen' > 'King' > 'Jack' > 'Ace'

рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП PHP рдореЗрдВ рдЯрд╛рдЗрдк рддреБрд▓рдирд╛ рддрд╛рд▓рд┐рдХрд╛ рднреА рджреЗрдЦреЗрдВ:

рд╡рд╣ рдХреЛрдб рдЬрд┐рд╕рдиреЗ рдЧрд┐рдЯ рд╣рдм рдкрд░ рд╕реВрдЪрд┐рдпрд╛рдВ рдмрдирд╛рдИрдВ
PHP рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдВрддрд░: http://3v4l.org/MAfDu

Source: https://habr.com/ru/post/In176117/


All Articles