⊗ppPmRgCPN 257 of 447 menu

Jumla ya Nambari ya Mifuko katika Usanifu mara kwa mara ya PHP

Tuchunguze hali ifuatayo. Hebu tuseme tuna kigeuzi cha mwaka, ambacho kinaweza kubadilika kutoka 1990 hadi 2099. Hebu tuseme tunataka kupata tarakimu mbili za mwisho za mwaka kwenye mfuko. Tuandike usanifu unaofanana:

<?php $reg = '#19(9\d)|20(\d\d)#'; ?>

Hata hivyo, tunakabiliwa na usumbufu mmoja hapa. Jambo ni kwamba kwa miaka ya karne iliyopita, tarakimu mbili zitaingia kwenye mfuko wa kwanza, lakini kwa miaka ya karne ya pili - zitaingia kwenye wa pili. Tuangalie kwa mifano.

Hapa kuna chaguo la kwanza:

<?php $str = '1991'; preg_match($reg, $str, $res); var_dump($res); // [1 => '91'] ?>

Na hapa kuna chaguo la pili:

<?php $str = '2021'; preg_match($reg, $str, $res); var_dump($res); // [2 => '21'] ?>

Hebu sasa tuseme tunataka kuweka tarakimu zilizopatikana za mwaka kwenye kigeuzi. Tunakabiliwa na shida, kwani hatujui kwa usahihi, ni kwa ufunguo gani tuchukue data kutoka kwenye mfuko:

<?php $year = $res[1]; // unahitaji ufunguo ama 1, ama 2 ?>

Inaweza kutatuliwa shida hii kwa kutumia sharti:

<?php if (!empty($res[1])){ $year = $res[1]; } else{ $year = $res[2]; } ?>

Hata hivyo, kuna suluhisho rahisi zaidi. Inaweza kutumika amri maalum (?| ). Mifuko yote, ambayo iko ndani yake itakuwa na nambari moja.

Hebu tusahihishe usanifu wetu

<?php $reg = '#(?|19(9\d)|20(\d\d))#'; ?>

Na sasa mwaka wetu hakika utakuwa kwenye mfuko nambari moja:

<?php $year = $res[1]; ?>

Kuna masharti na tarehe, ambazo mwaka unaweza kubadilika kutoka 1990 hadi 2099:

<?php $arr = [ '31-12-2025', '30-11-1995', '29-10-1990', ]; ?>

Kwa kila tarehi weka siku kwenye mfuko wa kwanza, mwezi kwenye wa pili, na tarakimu mbili za mwisho za mwaka - kwenye wa tatu.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa