我需要根据用户的状态显示不同的措辞。我意识到 while() 变量超出了 Online_Status() 的范围,但我无法弄清楚如何共享变量,甚至无法在 Online_Status() 中定义包含与 while() 相同信息的新变量。我已经尝试将 Online_Status() 放入 while() 中、 while() 周围、 while() 之外以及所有其他配置几个小时。没有发生。我将不胜感激任何帮助!
<?php
require_once('connect.php');
$con = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME) or die('Connection failed: ' . mysqli_connect_error());
$sql = mysqli_query($con, "SELECT UserType, Online, InChat FROM membership WHERE UserType = 2 ORDER BY Online DESC");
while($row = mysqli_fetch_array($sql)){
$UserType = $row['UserType'];
$Online = $row['Online'];
$InChat = $row['InChat'];
echo Online_Status();
}
function Online_Status(){
if ($Online == 0) {
echo "I am not online. Please come back later";
}
else if($Online == 1 && $InChat == 0){
echo "I am Online and I will be in my chatroom shortly.";
}
else if($Online == 1 && $InChat == 1){
echo "I am Online chat with me now!";
}
}
mysqli_close($con);
?>
最佳答案
使用global
关键字:
function Online_Status(){
global $Online;
if ($Online == 0) {
echo "I am not online. Please come back later";
}
}
最好通过函数参数在函数中传递变量:
function Online_Status($Online){
if ($Online == 0) {
echo "I am not online. Please come back later";
}
}
并称其为:
Online_Status($Online);
此外,请查看 PHP
的 Variable Scope .
关于php - 在函数之间共享变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26896624/