PHP-де даталармен жолдарды салыстыру
Бізде келесі мәтін форматында екі дата болсын:
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
Бұл жағдайда осы даталарды салыстыруға болады және олардың қайсысы үлкен екенін білуге болады:
<?php
var_dump($date1 > $date2);
?>
Бұл даталардың салыстыруы қалай жүреді? Мәселе мынада, біздің даталарымыз жолдар болып табылады және PHP оларды жолдар ретінде салыстырады. Яғни, алдымен ол бірінші символдарды салыстырады екі датаның: егер олар бірдей болса, онда PHP екінші символдарды салыстырады, және солай, айырмашылық тапқанға дейін. Біздің дата форматында алдымен жыл, содан кейін ай, содан кейін күн орналасқандығына байланысты, мүндай салыстыру мүмкін болады.
Сондай-ақ, даталардың бір формата болуы маңызды. Біздің жағдайда дата бөліктерінің бөлігіштері сызықшалар болып табылады. Бұл, әрине, міндетті емес. Мысалы, нүктелерді қоюға болады:
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
Немесе жіктеуіштерді алып тастауға болады:
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
Ең бастысы, салыстыру дұрыс болуы үшін, орналасу келесі ретте болуы керек: алдымен жыл, содан кейін ай, содан кейін күн.
Төменде келтірілген екі датаны салыстыратын және олардың қайсысы үлкен екенін хабарлайтын код жазыңыз:
$date1 = '2020-11-30';
$date2 = '2020-12-01';