1--TEST-- 2BcMath\Number compare by operator 3--EXTENSIONS-- 4bcmath 5--FILE-- 6<?php 7 8$values2 = [ 9 [99, 'int'], 10 ['99.9999', 'string'], 11 [new BcMath\Number('99.9999'), 'object'], 12 [100, 'int'], 13 ['100', 'string'], 14 ['100.0000', 'string'], 15 [new BcMath\Number(100), 'object'], 16 [new BcMath\Number('100.0000'), 'object'], 17 [101, 'int'], 18 ['100.00001', 'string'], 19 [new BcMath\Number('100.00001'), 'object'], 20]; 21 22$value1 = new BcMath\Number('100.0000'); 23 24foreach ($values2 as [$value2, $type2]) { 25 echo "========== with {$type2} {$value2} ==========\n"; 26 echo "{$value1} > {$value2}: " . ($value1 > $value2 ? 'true' : 'false') . "\n"; 27 echo "{$value1} >= {$value2}: " . ($value1 >= $value2 ? 'true' : 'false') . "\n"; 28 echo "{$value1} == {$value2}: " . ($value1 == $value2 ? 'true' : 'false') . "\n"; 29 echo "{$value1} <= {$value2}: " . ($value1 <= $value2 ? 'true' : 'false') . "\n"; 30 echo "{$value1} < {$value2}: " . ($value1 < $value2 ? 'true' : 'false') . "\n"; 31 32 echo "\ninversion\n"; 33 echo "{$value2} > {$value1}: " . ($value2 > $value1 ? 'true' : 'false') . "\n"; 34 echo "{$value2} >= {$value1}: " . ($value2 >= $value1 ? 'true' : 'false') . "\n"; 35 echo "{$value2} == {$value1}: " . ($value2 == $value1 ? 'true' : 'false') . "\n"; 36 echo "{$value2} <= {$value1}: " . ($value2 <= $value1 ? 'true' : 'false') . "\n"; 37 echo "{$value2} < {$value1}: " . ($value2 < $value1 ? 'true' : 'false') . "\n"; 38 39 echo "\n"; 40} 41?> 42--EXPECT-- 43========== with int 99 ========== 44100.0000 > 99: true 45100.0000 >= 99: true 46100.0000 == 99: false 47100.0000 <= 99: false 48100.0000 < 99: false 49 50inversion 5199 > 100.0000: false 5299 >= 100.0000: false 5399 == 100.0000: false 5499 <= 100.0000: true 5599 < 100.0000: true 56 57========== with string 99.9999 ========== 58100.0000 > 99.9999: true 59100.0000 >= 99.9999: true 60100.0000 == 99.9999: false 61100.0000 <= 99.9999: false 62100.0000 < 99.9999: false 63 64inversion 6599.9999 > 100.0000: false 6699.9999 >= 100.0000: false 6799.9999 == 100.0000: false 6899.9999 <= 100.0000: true 6999.9999 < 100.0000: true 70 71========== with object 99.9999 ========== 72100.0000 > 99.9999: true 73100.0000 >= 99.9999: true 74100.0000 == 99.9999: false 75100.0000 <= 99.9999: false 76100.0000 < 99.9999: false 77 78inversion 7999.9999 > 100.0000: false 8099.9999 >= 100.0000: false 8199.9999 == 100.0000: false 8299.9999 <= 100.0000: true 8399.9999 < 100.0000: true 84 85========== with int 100 ========== 86100.0000 > 100: false 87100.0000 >= 100: true 88100.0000 == 100: true 89100.0000 <= 100: true 90100.0000 < 100: false 91 92inversion 93100 > 100.0000: false 94100 >= 100.0000: true 95100 == 100.0000: true 96100 <= 100.0000: true 97100 < 100.0000: false 98 99========== with string 100 ========== 100100.0000 > 100: false 101100.0000 >= 100: true 102100.0000 == 100: true 103100.0000 <= 100: true 104100.0000 < 100: false 105 106inversion 107100 > 100.0000: false 108100 >= 100.0000: true 109100 == 100.0000: true 110100 <= 100.0000: true 111100 < 100.0000: false 112 113========== with string 100.0000 ========== 114100.0000 > 100.0000: false 115100.0000 >= 100.0000: true 116100.0000 == 100.0000: true 117100.0000 <= 100.0000: true 118100.0000 < 100.0000: false 119 120inversion 121100.0000 > 100.0000: false 122100.0000 >= 100.0000: true 123100.0000 == 100.0000: true 124100.0000 <= 100.0000: true 125100.0000 < 100.0000: false 126 127========== with object 100 ========== 128100.0000 > 100: false 129100.0000 >= 100: true 130100.0000 == 100: true 131100.0000 <= 100: true 132100.0000 < 100: false 133 134inversion 135100 > 100.0000: false 136100 >= 100.0000: true 137100 == 100.0000: true 138100 <= 100.0000: true 139100 < 100.0000: false 140 141========== with object 100.0000 ========== 142100.0000 > 100.0000: false 143100.0000 >= 100.0000: true 144100.0000 == 100.0000: true 145100.0000 <= 100.0000: true 146100.0000 < 100.0000: false 147 148inversion 149100.0000 > 100.0000: false 150100.0000 >= 100.0000: true 151100.0000 == 100.0000: true 152100.0000 <= 100.0000: true 153100.0000 < 100.0000: false 154 155========== with int 101 ========== 156100.0000 > 101: false 157100.0000 >= 101: false 158100.0000 == 101: false 159100.0000 <= 101: true 160100.0000 < 101: true 161 162inversion 163101 > 100.0000: true 164101 >= 100.0000: true 165101 == 100.0000: false 166101 <= 100.0000: false 167101 < 100.0000: false 168 169========== with string 100.00001 ========== 170100.0000 > 100.00001: false 171100.0000 >= 100.00001: false 172100.0000 == 100.00001: false 173100.0000 <= 100.00001: true 174100.0000 < 100.00001: true 175 176inversion 177100.00001 > 100.0000: true 178100.00001 >= 100.0000: true 179100.00001 == 100.0000: false 180100.00001 <= 100.0000: false 181100.00001 < 100.0000: false 182 183========== with object 100.00001 ========== 184100.0000 > 100.00001: false 185100.0000 >= 100.00001: false 186100.0000 == 100.00001: false 187100.0000 <= 100.00001: true 188100.0000 < 100.00001: true 189 190inversion 191100.00001 > 100.0000: true 192100.00001 >= 100.0000: true 193100.00001 == 100.0000: false 194100.00001 <= 100.0000: false 195100.00001 < 100.0000: false 196