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


How to access a variable outside the 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;

解释你的否决票(如果有的话)。

在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;

我不是PHP程序员,所以如果我错了,请纠正我。。。但是要访问$uname,必须在if语句之外声明它,所以它在if语句以外的范围内。现在$uname只在if语句的作用域中,一旦离开if语句,变量就不存在了。

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

试试这个:

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;

您的代码正在工作。我举了一个例子,它与匹配

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

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

在返回例如的函数中定义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();

首先定义全局变量

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

$ulogo='/images/varisity徽标/witsLogo.jpg’;

$uname="机智";

echo$uname;

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

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

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

echo$uname;}

echo$uname;