如果在else else循环之外如何声明这个变量

时间:2012-07-26 21:50:51

标签: php

所以这是我的问题;我正在处理其他团队成员交给我的一些代码(不是我的代码);所以它非常深入&很难找出所有变量和这样的匹配在哪里,我设法发现这件事给我带来了麻烦,为什么我的代码在这里不起作用

<td nowrap style="border-left: 1px solid #dddddd;" align="center">&nbsp;&nbsp;

                     <?=$display_balance_details;?>

这段代码显然设置它以便$ display_balance_details仅在某些页面上设置,我的问题是我试图将其移动到所有网页的标题中;

    else if ($section == 'history')
    {
        $user = new user();
        $user->setts = &$setts;

        $row_user = $db->get_sql_row("SELECT * FROM
            " . DB_PREFIX . "users WHERE user_id=" . $session->value('user_id'));

        $template->set('user_details', $row_user);

        $template->set('display_account_status', $user->account_status($row_user['active'], $row_user['approved']));

        $user_payment_mode = $fees->user_payment_mode($session->value('user_id'));
        $template->set('user_payment_mode', $user_payment_mode);

        $template->set('display_payment_mode', $user->payment_mode_desc($user_payment_mode));

        (string) $display_balance_details = null;
        $display_balance_details = $user->show_balance($row_user['balance'], $setts['currency']);

        if ($user_payment_mode == 2 && $row_user['balance']>=$setts['min_invoice_value'])
        {
            $display_balance_details .= ' [ <a href="fee_payment.php?do=clear_balance">' . MSG_CLEAR_ACC_BALANCE . '</a> ]';
        }

        $template->set('display_balance_details', $display_balance_details);

        $show_history_table = false;

并且此代码告诉在

上设置它的页面
<? } else if ($page == 'account') { ?>
<td nowrap <?=(($section == 'history') ? 'class="subcell_a"' : 'class="subcell_u"');?>><a href="<?=process_link('members_area', array('page' => 'account', 'section' => 'history'));?>">

所以我的问题是如何设置$ display_balance_details而不删除$ section =='history'位(因为这可能会导致一堆其他问题,不知道代码是如何编写的)以及如何最好地接近这个问题?

1 个答案:

答案 0 :(得分:0)

您可以将变量设为全局:

global $display_balance_details;

或者在if:

之前声明$ display_balance_details
(string) $display_balance_details = null;
if ($section == 'history')
{
your code
}