在if/else语句外部访问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

因此,我有一个if-else语句,当前我可以打印语句“user1”、“user2”等之间的对话,但不知道如何在if/else语句之外打印该语句

我想在PHP的那个部分之外访问它,在变量生成之前的一个部分中

这是我的PHP

<?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); ?>