在if/else语句外部访问PHP变量
因此,我有一个if-else语句,当前我可以打印语句“user1”、“user2”等之间的对话,但不知道如何在if/else语句之外打印该语句 我想在PHP的那个部分之外访问它,在变量生成之前的一个部分中 这是我的PHP在if/else语句外部访问PHP变量,php,Php,因此,我有一个if-else语句,当前我可以打印语句“user1”、“user2”等之间的对话,但不知道如何在if/else语句之外打印该语句 我想在PHP的那个部分之外访问它,在变量生成之前的一个部分中 这是我的PHP <?php print $conversation_members; ?> <?php if (count($rows)) { $uids= array(); while ($row = mysql_fetch_array($resul
<?php print $conversation_members; ?>
<?php
if (count($rows)) {
$uids= array();
while ($row = mysql_fetch_array($result1)) {
$uids[] = $row['userid'];
}
$last = array_pop($uids);
$conversation_members = '<p>Conversation between ';
$conversation_members .= implode(', ', $uids) . ' and ' . $last;
$conversation_members .= '.</p>';
}
else {
blah blah irrelevant
}
?>
衷心感谢您的帮助!非常感谢-将其存储在变量中:
$output = ''; // Give a default value
if (count($rows)) {
$uids= array();
while ($row = mysql_fetch_array($result1)) {
$uids[] = $row['userid'];
}
$last = array_pop($uids);
$output = '<p>Conversation between ';
$output .= implode(', ', $uids) . ' and ' . $last;
$ouptut .= '.</p>';
}
else {
blah blah irrelevant
}
echo $output;
$output='';//给出一个默认值
如果(计数($行)){
$uids=array();
而($row=mysql\u fetch\u数组($result1)){
$uids[]=$row['userid'];
}
$last=array\u pop($uid);
$output='之间的对话';
$output.=内爆(“,”,$uids)。”和“$last;
$ouptut.='.';
}
否则{
废话
}
echo$输出;
只需将正在打印的文本设置为一个变量,并将其设置为正在打印的其余文本。然后,您可以在脚本中的任何其他位置将其用作变量
$thisVar=''
然后在if-else中:
$thisVar.=“对话废话”
$thisVar.=“四个4”
echo$thisVar;
//将打印“对话废话四个4”$str='';
如果(计数($行)){
$uids=array();
而($row=mysql\u fetch\u数组($result1)){
$uids[]=$row['userid'];
}
$last=array\u pop($uid);
$str.='之间的对话';
$str.=内爆(“,”,$uids)。”和“$last;
$str.='.';
echo$str;
}
否则{
echo$str;
}
创建一个返回所需内容的函数:
function getConversationMembers($result)
{
$uids = array();
while ($row = mysql_fetch_array($result)) {
$uids[] = $row['userid'];
}
if (count($uids) >= 2) {
$last = array_pop($uids);
return sprintf('<p>Conversation between %s and %s.</p>',
htmlspecialchars(join(',', $uids), ENT_QUOTES, 'UTF-8'),
htmlspecialchars($last, ENT_QUOTES, 'UTF-8')
);
} else {
return '';
}
}
函数getConversationMembers($result)
{
$uids=array();
while($row=mysql\u fetch\u数组($result)){
$uids[]=$row['userid'];
}
如果(计数($UID)>=2){
$last=array\u pop($uid);
返回sprintf(“在%s和%s之间的对话。”,
htmlspecialchars(连接(',',$uids),ENT_引号,'UTF-8'),
htmlspecialchars($last,ENT_引号,'UTF-8')
);
}否则{
返回“”;
}
}
然后:
将字符串分配给变量,并在语句后打印。嘿,非常感谢您的回复。如果我试图在一个单独的php中访问该怎么办?我将编辑我的问题以反映这一点……如果变量在下面定义,您试图访问它的地方,它将不起作用。为了获得更大的灵活性,创建函数并根据需要调用该函数。为什么不应用它?默认分配也应该在foreach
中。
function getConversationMembers($result)
{
$uids = array();
while ($row = mysql_fetch_array($result)) {
$uids[] = $row['userid'];
}
if (count($uids) >= 2) {
$last = array_pop($uids);
return sprintf('<p>Conversation between %s and %s.</p>',
htmlspecialchars(join(',', $uids), ENT_QUOTES, 'UTF-8'),
htmlspecialchars($last, ENT_QUOTES, 'UTF-8')
);
} else {
return '';
}
}
<?php print getConversationMembers($result1); ?>