Функция и оператор условия if

Тема в разделе "PHP", создана пользователем prostreet92, 12 дек 2015.

  1. prostreet92

    prostreet92

    Регистрация:
    2 дек 2015
    Сообщения:
    0
    Симпатии:
    0
    Доброй ночи! Ребята, подскажите!

    PHP:
    <?
    $price20 "Цена: <span class=\"stats-price\">20 рублей</span>";

    function 
    priceNotFound(){
        if (isset(
    $price20)) echo $price20;
        else echo 
    "<span class=\"stats-warning\">Ценовая категория не найдена или не определена. Пожалуйста, обратитесь к администратору!</span>";
    }

    priceNotFound();
    ?>
    Почему этот код всегда возвращает результат оператора else, а не "Цена: 20 рублей"?
    Я новичок в php, поэтому учитывайте это. Будьте добры, напишите правильный код.

    http://phptester.ru/ вот здесь можно в онлайн режиме код проверить
     
    Последнее редактирование: 12 дек 2015
  2. travlarnor

    travlarnor

    Регистрация:
    10 окт 2014
    Сообщения:
    46
    Симпатии:
    21
    Ну дык в функцию параметр передать надо. Дело в области видимости переменных. В функции priceNotFound не видно объявленную Вами ранее переменную $price20.
    Я бы сделал так:
    PHP:
    <?
    $price20 "Цена: <span class=\"stats-price\">20 рублей</span>";

    function 
    priceNotFound($var){
      if (isset(
    $var)) echo $var;
      else echo 
    "<span class=\"stats-warning\">Ценовая категория не найдена или не определена. Пожалуйста, обратитесь к администратору!</span>";
    }

    priceNotFound($price20);
    ?>
     
    Lasted edited by : 13 дек 2015
    $iD нравится это.
  3. Redee

    Redee

    Регистрация:
    10 янв 2016
    Сообщения:
    0
    Симпатии:
    0
    ООП подучите потом гораздо проще жить будет - процедурное программирование уже слишком Архаично и крайне НЕ удобно.