За последние 24 часа нас посетили 64703 программиста и 1612 роботов. Сейчас ищут 1036 программистов ...

понять не могу функция в класе

Тема в разделе "PHP для новичков", создана пользователем crautcher, 11 авг 2011.

  1. crautcher

    crautcher Активный пользователь

    С нами с:
    21 май 2011
    Сообщения:
    156
    Симпатии:
    0
    дата рождения подается в дормате месяц/день/год

    PHP:
    1. <?
    2. function Zodiac($user_date)
    3.         {
    4. global $month,$day,$year;
    5. list($month,$day,$year) = explode ("/",$user_date['birthday']);
    6. if(($month==01 && $day>20)||($month==02 && $day<20)){
    7.     return "Aquarius";
    8. }else if(($month==02 && $day>18 )||($month==03 && $day<21)){
    9.     return "Pisces";
    10. }else if(($month==03 && $day>20)||($month==04 && $day<21)){
    11.     return "Aries";
    12. }else if(($month==04 && $day>20)||($month==05 && $day<22)){
    13.     return "Taurus";
    14. }else if(($month==05 && $day>21)||($month==06 && $day<22)){
    15.     return "Gemini";
    16. }else if(($month==06 && $day>21)||($month==07 && $day<24)){
    17.     return "Cancer";
    18. }else if(($month==07 && $day>23)||($month==08 && $day<24)){
    19.     return "Leo";
    20. }else if(($month==08 && $day>23)||($month==09 && $day<24)){
    21.     return "Virgo";
    22. }else if(($month==09 && $day>23)||($month==10 && $day<24)){
    23.     return "Libra";
    24. }else if(($month==10 && $day>23)||($month==11 && $day<23)){
    25.     return "Scorpio";
    26. }else if(($month==11 && $day>22)||($month==12 && $day<23)){
    27.     return "Sagittarius";
    28. }else if(($month==12 && $day>22)||($month==01 && $day<21)){
    29.     return "Capricorn";}
    30.         } ?>
    выводит что я лев когда я рак - 26 июня , + пишет Notice: Undefined offset: 2 in /var/www/absolux/astro/action/action.test.php on line 81 Notice: Undefined offset: 1 in /var/www/absolux/astro/action/action.test.php on line 81
    81 строка где explode
     
  2. dots_rei

    dots_rei Активный пользователь

    С нами с:
    7 авг 2009
    Сообщения:
    193
    Симпатии:
    0
    вероятно, $user_date['birthday'] приходит не в том формате, в каком ожидает функция explode (нет там "/"). соответственно, разбить на массив значение этой переменной она не может
     
  3. crautcher

    crautcher Активный пользователь

    С нами с:
    21 май 2011
    Сообщения:
    156
    Симпатии:
    0
    не не приходило норм , ему не понравились обявленые переменные , я починил -сделал эксплод перед вызовом функции и изменил function Zodiac($month,$day)