i don’t know you are aware of it or not but PHP 7, which will come out in November this year will introduce the Spaceship (<=>) operator. if you don’t know What is it and how does it work? then please read this post carefully.
<=> operator will offer combined comparison in that it will :
Return 0 if values on either side are equal
Return 1 if value on the left is greater
Return -1 if the value on the right is greater
The rules used by the combined comparison operator are same as the currently used comparison operators by PHP viz.
>. Those who are from Perl or Ruby programming background may already be familiar with this new operator proposed for PHP7.
echo 1 <=> 1; //ouputs 0
echo 3 <=> 4; //outputs -1
echo 4 <=> 3; //outputs 1
echo "x" <=> "x"; // 0
echo "x" <=> "y"; //-1
echo "y" <=> "x"; //1
how the strings are compared?
When you compare a string this way, it will go from left to right, and compare each character in the given string to see if they are different, until it finds a difference, then it will decide which string is bigger by comparing the ASCII value of this last character. Coincidentally, since you are using only numbers, the highest numbers are also higher on the ASCII table.
This solution will work as long as you use only numbers in your comparisons, and that each string has the same number of characters
Also note that this works only since you are using the YYYY-MM-DD format, if you used another format it would not work.