Зворотне замовлення дати в сценарії

I have a recruitment script written in PHP that I am working with at present. On our registrations page there is a drop down for date of birth which you can see in action here: http://www.v3recruitment.com/users/register.php

Як ви бачите, дата починається в 1900 році, я б хотів це зробити, щоб змінити порядок денний. Я думаю, що знайшов код, що створює дату, але мій PHP недостатньо добре, щоб з'ясувати, як показати дати в зворотному порядку, ось цей код:

function FetchYears($type){
    $start = 1901;
    $end = date("Y");
    for($i=$start;$i<=$end;$i++){
        $array[]['year'] = $i;
    }
    return $array;
}

В інтерфейсі використовуються шаблони Smarty, і ось цей код:

      {section name="c" loop=$dob_years}
      
      {/section}

Чи може хто-небудь, будь ласка, допоможіть мені з цим?

1
дивіться array_reverse()
додано Автор naththedeveloper, джерело
дивіться array_reverse()
додано Автор naththedeveloper, джерело

16 Відповіді

Either reverse loop or use array_reverse()

change return$array; to return array_reverse($array);

Для smarty це дуже просто, вам навіть не потрібно навіть створювати цю функцію в PHP, це також можна зробити і в smarty.

{foreach $dob_years as $entry)
    
{/foreach}

Check HTML_SELECT_DATE in smarty or simply use just the code below doesn't require any additional PHP code.

 {assign var=currentYear value=$smarty.now|date_format:"%Y"}
 {assign var=fromYear value="2003"}
 {section name=years start=$currentYear step=-1 loop=$fromYear}
    {$smarty.section.years.index}
 {/section
3
додано
Так просто, як це! Дякую!
додано Автор Webbly Brown, джерело
Ви можете :) якщо ця відповідь задовольнить вас, ви можете позначити її як відповідь.
додано Автор Robert, джерело

Either reverse loop or use array_reverse()

change return$array; to return array_reverse($array);

Для smarty це дуже просто, вам навіть не потрібно навіть створювати цю функцію в PHP, це також можна зробити і в smarty.

{foreach $dob_years as $entry)
    
{/foreach}

Check HTML_SELECT_DATE in smarty or simply use just the code below doesn't require any additional PHP code.

 {assign var=currentYear value=$smarty.now|date_format:"%Y"}
 {assign var=fromYear value="2003"}
 {section name=years start=$currentYear step=-1 loop=$fromYear}
    {$smarty.section.years.index}
 {/section
3
додано
Так просто, як це! Дякую!
додано Автор Webbly Brown, джерело
Ви можете :) якщо ця відповідь задовольнить вас, ви можете позначити її як відповідь.
додано Автор Robert, джерело

Either reverse loop or use array_reverse()

change return$array; to return array_reverse($array);

Для smarty це дуже просто, вам навіть не потрібно навіть створювати цю функцію в PHP, це також можна зробити і в smarty.

{foreach $dob_years as $entry)
    
{/foreach}

Check HTML_SELECT_DATE in smarty or simply use just the code below doesn't require any additional PHP code.

 {assign var=currentYear value=$smarty.now|date_format:"%Y"}
 {assign var=fromYear value="2003"}
 {section name=years start=$currentYear step=-1 loop=$fromYear}
    {$smarty.section.years.index}
 {/section
3
додано
Так просто, як це! Дякую!
додано Автор Webbly Brown, джерело
Ви можете :) якщо ця відповідь задовольнить вас, ви можете позначити її як відповідь.
додано Автор Robert, джерело

array_reverse does what it says on the tin.

2
додано

array_reverse does what it says on the tin.

2
додано

array_reverse does what it says on the tin.

2
додано

Спробуй так

function FetchYears($type){
    $start = date("Y");
    $end = 1901;
    for($i=$start;$i>=$end;$i--){
        $array[]['year'] = $i;
    }
    return $array;
}

або просто використовуйте array_reverse , повертаючи ваш масив як

function FetchYears($type){
    $start = 1901;
    $end = date("Y");
    for($i=$start;$i<=$end;$i++){
        $array[]['year'] = $i;
    }
    return array_reverse($array);
}
1
додано

Спробуй так

function FetchYears($type){
    $start = date("Y");
    $end = 1901;
    for($i=$start;$i>=$end;$i--){
        $array[]['year'] = $i;
    }
    return $array;
}

або просто використовуйте array_reverse , повертаючи ваш масив як

function FetchYears($type){
    $start = 1901;
    $end = date("Y");
    for($i=$start;$i<=$end;$i++){
        $array[]['year'] = $i;
    }
    return array_reverse($array);
}
1
додано

Спробуй так

function FetchYears($type){
    $start = date("Y");
    $end = 1901;
    for($i=$start;$i>=$end;$i--){
        $array[]['year'] = $i;
    }
    return $array;
}

або просто використовуйте array_reverse , повертаючи ваш масив як

function FetchYears($type){
    $start = 1901;
    $end = date("Y");
    for($i=$start;$i<=$end;$i++){
        $array[]['year'] = $i;
    }
    return array_reverse($array);
}
1
додано
function FetchYears($type){
    $start = date("Y");
    $end = 1901;
    for($i=$start;$i>=$end;$i--){
        $array[]['year'] = $i;
    }
    return $array;
}
0
додано
function FetchYears($type){
    $start = date("Y");
    $end = 1901;
    for($i=$start;$i>=$end;$i--){
        $array[]['year'] = $i;
    }
    return $array;
}
0
додано
function FetchYears($type){
    $start = date("Y");
    $end = 1901;
    for($i=$start;$i>=$end;$i--){
        $array[]['year'] = $i;
    }
    return $array;
}
0
додано
for ($i = $end; $i >= $start; $i--) {
        $array[]['year'] = $i;
}

Не протестували ще, повинні працювати :)

0
додано
for ($i = $end; $i >= $start; $i--) {
        $array[]['year'] = $i;
}

Не протестували ще, повинні працювати :)

0
додано

Напевно, найпростіший спосіб зробити це - дати дати у форматі UTC (ціле).

$dates[$i] = $timestamp;

Потім використовуйте функцію сортування PHP для сортування дат.

sort($dates,SORT_NUMERIC);

Ви можете використовувати rsort для зворотного.

rsort($dates,SORT_NUMERIC);

Коли ви закінчите, повторіть процедуру через масив і приховано, використовуючи функцію date ().

echo (date('m-d-Y', $dates[$i]));
0
додано

Напевно, найпростіший спосіб зробити це - дати дати у форматі UTC (ціле).

$dates[$i] = $timestamp;

Потім використовуйте функцію сортування PHP для сортування дат.

sort($dates,SORT_NUMERIC);

Ви можете використовувати rsort для зворотного.

rsort($dates,SORT_NUMERIC);

Коли ви закінчите, повторіть процедуру через масив і приховано, використовуючи функцію date ().

echo (date('m-d-Y', $dates[$i]));
0
додано
Ukrainian PHP comunity
Ukrainian PHP comunity
885 учасників

dev-ua/php