- Notifications
You must be signed in to change notification settings - Fork0
PHP package to comparing values
License
NotificationsYou must be signed in to change notification settings
ensostudio/comparator
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The flexible comparation of
- index/assoc arrays
- objects/closures
- floats/NANs
- binary/text strings
- stream resources
ViaComposer:
composer require ensostudio/comparator
useEnsoStudio\Comparator\Comparator;$comparator =Comparator(Comparator::EQUAL_ARRAY | Comparator::EQUAL_FLOAT);if ($comparator->compare($value,$value2)) {echo'same values';}
$comparator->setFlags(Comparator::EQUAL_FLOAT);var_dump(3 -2.4 ==0.6,$comparator->compare(3 -2.4,0.6));// false, true$comparator->setFlags(Comparator::EQUAL_STRING);var_dump('foo' =='FOO',$comparator->compare('foo','FOO'));// false, true// Case-issensetive comparation supports only for English:var_dump($comparator->compare('я','Я'));// false$comparator->setFlags(Comparator::EQUAL_CLOSURE);$createClosure =function () {returnfunction ($value) {return$value *2; };};var_dump($createClosure() ==$createClosure(),$comparator->compare($createClosure(),$createClosure()));// false, true$comparator->setFlags(Comparator::EQUAL_ARRAY | Comparator::EQUAL_FLOAT);var_dump($comparator->compare( ['float' =>2 -1.6,'int' =>3], ['int' =>3,'float' =>0.4]));// true
namespaceEnsoStudio\Comparator;class Comparator{publicfunction__construct(int$flags);publicfunctionsetFlags(int$flags);publicfunctiongetFlags():int;publicfunctionhasFlag(int$flag):bool;publicfunctiongetType(mixed$value):string;publicfunctioncanCompare(string$type,string$type2):bool;publicfunctioncompare(mixed$value,mixed$value):bool;}
About
PHP package to comparing values
Topics
Resources
License
Stars
Watchers
Forks
Packages0
No packages published