За последние 24 часа нас посетили 21992 программиста и 1111 роботов. Сейчас ищут 717 программистов ...

Функция не отрабатывает

Тема в разделе "PHP для новичков", создана пользователем face2005, 20 ноя 2022.

  1. face2005

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

    С нами с:
    31 янв 2015
    Сообщения:
    48
    Симпатии:
    0
    Добрый день! подскажите что не так?
    PHP:
    1. <?php function lessonBlock($a) {
    2.                     $a = strval($a);
    3.                     if ($a = "14") {
    4.                         $marginRight = 0;
    5.                     } elseif ($a == "14_30") {
    6.                         $marginRight = 16.666;
    7.                     } elseif ($a == "15") {
    8.                         $marginRight = 33.332;
    9.                     } elseif ($a == "15_30") {
    10.                         $marginRight = 49.998;
    11.                     } elseif ($a == "16") {
    12.                         $marginRight = 66.664;
    13.                     } elseif ($a == "16_30") {
    14.                         $marginRight = 83.33;
    15.                     }
    16.  
    17.                     return $marginRight;
    18.                 }
    19.                
    20.                 ?>


    пытаюсь вывести
    Код (Text):
    1.  
    2. <?php echo lessonBlock($start_lesson_selected_option['value']  ); ?>
    получаю ноль.. подскажите что не так?
     
  2. face2005

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

    С нами с:
    31 янв 2015
    Сообщения:
    48
    Симпатии:
    0
    решил:
    PHP:
    1. if ($a == "14") {
    2.                         return 0;
    3.                     }
    4.                     if ($a == "14_30") {
    5.                         return 16.666;
    6.                     }
    7.                     if ($a == "15") {
    8.                         return  33.332;
    9.                     }
    10.                     if ($a == "15_30") {
    11.                         return  49.998;
    12.                     }
    13.                     if ($a == "16") {
    14.                         return  66.664;
    15.                     }
    16.                     if ($a == "16_30") {
    17.                         return 83.33;
    18.                     }
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.825
    Симпатии:
    738
    Адрес:
    Татарстан
    Про switch/case не слышал?
     
  4. face2005

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

    С нами с:
    31 янв 2015
    Сообщения:
    48
    Симпатии:
    0
    да, нужно переделать... спасибо!
     
  5. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.825
    Симпатии:
    738
    Адрес:
    Татарстан
    Или вообще массив использовать с такими индексами
     
    don.bidon нравится это.
  6. programmer007

    programmer007 Новичок

    С нами с:
    30 ноя 2022
    Сообщения:
    14
    Симпатии:
    3
    Попробуйте сделать return конвертированного числа в функции, а результат запишите в константу.