如何访问if语句之外的变量

时间:2013-12-14 06:04:27

标签: php if-statement

在以下代码中,如何在此语句之外访问$ uname?

 $uname = '';
if ($row['ulogo'] == '1'){
    $ulogo = '../images/varsity logos/witsLogo.jpg';
    $uname = 'Wits';
    echo $uname;
    } else if ($row['ulogo'] == '2'){
        $ulogo = '../images/varsity logos/UJ.png';
    $uname = 'University of Johannessburg';
    echo $uname;
    } 
    echo $uname;

解释你的downvote是否存在。

6 个答案:

答案 0 :(得分:4)

在if块之外初始化$ uname:

$uname = '';
if ($row['ulogo'] == '1'){
    $ulogo = '../images/varsity logos/witsLogo.jpg';
    $uname = 'Wits';
    echo $uname;
    } else if ($row['ulogo'] == '2'){
        $ulogo = '../images/varsity logos/UJ.png';
    $uname = 'University of Johannessburg';
    echo $uname;
} 
echo $uname;

答案 1 :(得分:0)

我不是一个PHP的人,所以如果我错了就纠正我......但要访问$ uname,在if语句之外你必须在if语句之外声明它,所以它在if之外的范围内声明。现在,$ uname只在if语句的范围内,一旦你离开if语句,变量就不再存在了。

答案 2 :(得分:0)

如果$ulogo不是$uname$row['ulogo'],您会注意到未定义的变量12

试试这个:

if ($row['ulogo'] == '1')
{
    $ulogo = '../images/varsity logos/witsLogo.jpg';
    $uname = 'Wits';
}
elseif ($row['ulogo'] == '2')
{
    $ulogo = '../images/varsity logos/UJ.png';
    $uname = 'University of Johannessburg';
} 
else
{
    $ulogo = '../images/varsity logos/noimage.png';
    $uname = NULL;
}

echo $ulogo;
echo $uname;

$logo   = '../images/varsity logos/noimage.png';
$uname  = NULL;

if ($row['ulogo'] == '1')
{
    $ulogo = '../images/varsity logos/witsLogo.jpg';
    $uname = 'Wits';
}
elseif ($row['ulogo'] == '2')
{
    $ulogo = '../images/varsity logos/UJ.png';
    $uname = 'University of Johannessburg';
} 

echo $ulogo;
echo $uname;

答案 3 :(得分:-1)

  

首先定义全局变量

     

$ uname ='';   if($ row ['ulogo'] =='1'){

     

$ ulogo ='../ images / varsity logos / witsLogo.jpg';

     

$ uname ='Wits';

     

echo $ uname;

     

}   否则if($ row ['ulogo'] =='2'){

   $ulogo = '../images/varsity logos/UJ.png';
     

$ uname ='约翰内斯堡大学';

     

echo $ uname;   }

     

echo $ uname;

答案 4 :(得分:-1)

您的准则正在运作。我举了一个例子,这是匹配

$row = 1; //temp variable

if ($row == '1'){
    $uname = 'Wits';
} else if ($row == '2'){
    $uname = 'University of Johannessburg';
} 

echo $uname;

答案 5 :(得分:-1)

上面的答案是正确的,我只是想我会添加另一种方式 -

在返回例如

的函数内定义if语句
function define_username() {
    if ($row['ulogo'] == '1'){
       $ulogo = '../images/varsity logos/witsLogo.jpg';
       $uname = 'Wits';
    } else if ($row['ulogo'] == '2'){
       $ulogo = '../images/varsity logos/UJ.png';
       $uname = 'University of Johannessburg';
    };
    return $uname;
};

echo define_username();