在下面的代码中,如何在该语句之外访问$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']
不是1
或2
,您将注意到未定义的变量$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;