Есть ли способ поместить if в переменную или как вывести это все в echo?

Сразу прошу прощение за возможно глупый вопрос, если знаете как правильно это назвать, пишите)
Я только изучаю основы php...
Итак, у нас есть php код, который выводит определенный вид цены:
<? $PRICE_TYPE_ID = '18';
    $db_res = CPrice::GetList(
        array(),
        array(
                "PRODUCT_ID" => $arResult['ID'],
                "CATALOG_GROUP_ID" => $PRICE_TYPE_ID
            )
    );
    
    if ($ar_res = $db_res->Fetch())
    {
        echo CurrencyFormat($ar_res["PRICE"], $ar_res["CURRENCY"]);
    }
    
    else
    {
        echo "Цена по запросу";
    } ?>

Мне нужно вывести его в шаблоне элемента 1с-Битрикс определенной группе пользователей.
Другую информацию я вывожу вот таким образом:
<?php global $USER;
$dop_info = "информация для определенной группы пользователей";
$groupID = 11;
if (in_array($groupID,$USER->GetUserGroupArray())){
  echo "$dop_info";
}?>

так вот, как вывести первый код во второй или совместить их, чтобы пользователь из определенной группы видел цену.
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
v3shin
@v3shin
Веб-шаман
> Я только изучаю основы php...
> ...вывести его в шаблоне элемента 1с-Битрикс
Может, не надо пока в Битрикс?

<?php
global $USER;
$groupID = 11;
if (in_array($groupID,$USER->GetUserGroupArray())){
  ?>
  Тут требуемый код.
  Но это костыль. Полное решение займет гораздо больше описания.
  <?
}?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@qwermus
Не совсем понял вопрос и полагаю, что есть решение правильнее, но если ответить именно на заданный вопрос, то переменная выводится с помощью функции eval, т.е.
$var = 'if (1==1){echo "1";} else {echo "2";}';
eval($var);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы