格式化echo取决于数组

时间:2014-10-31 08:49:31

标签: php

我有这段代码可以找到谁登录并显示用户名及其成员状态。

    while ($row = mysqli_fetch_assoc($whoisloggedin)) {
        $usersArray = $row['status'];    
        $usersArray2 = $row['username'];
        echo '<pre>';
        echo $usersArray," ",$usersArray2;
        echo '</pre>';
    }

现在显示4个用户名,因为有4个用户登录,我想知道是否可以更改文本颜色。所以它现在可能会说“Admin Kenazz”或“VIP ryemck”,我想知道我是否能做到这样“管理员”是红色的,“VIP”是黄金等?

4 个答案:

答案 0 :(得分:1)

尝试应用支票

if($row['somthing'] == 'Admin') {
  echo '<span style="color:red">'.$row['username'].'</span>';
}
else if($row['somthing'] == 'VIP') {
  echo '<span style="color:#fff">'.$row['username'].'</span>';
}
else {
  echo '<span style="color:#f00">'.$row['username'].'</span>';
}

依旧......

答案 1 :(得分:1)

你可以这样做。

while ($row = mysqli_fetch_assoc($whoisloggedin)) {
    $usersArray = $row['status'];    
    $usersArray2 = $row['username'];

    if ($usersArray == 'Admin') {
        $colour = 'red';
    }
    else if ($usersArray == 'VIP') {
        $colour = 'gold';
    }

    echo '<p style="color: '.$colour.'">'.$usersArray.' '.$usersArray2.'</p>';
}

答案 2 :(得分:1)

最简单的方法是使用替换函数或命名数组键:

$rename=array("Admin"=>"<span style='color:red'>"
,"VIP"=>"<span style='color:yellow'>");  
while ($row = mysqli_fetch_assoc($whoisloggedin)) {
    $usersArray = $row['status'];    
    $usersArray2 = $row['username'];
    echo '<pre>';
    echo $rename[$usersArray].$usersArray" ".$usersArray2."</span>";
    echo '</pre>';
}

现在使用替换功能的第二个变体

$find=array("Admin","VIP");  
$replace=array("<span style='color:red'>Admin"
,"<span style='color:yellow'>VIP");  
while ($row = mysqli_fetch_assoc($whoisloggedin)) {
    $usersArray = $row['status'];    
    $usersArray2 = $row['username'];
    echo '<pre>';
    echo str_replace($find,$replace,$usersArray)." ".$usersArray2."</span>";
    echo '</pre>';
}

答案 3 :(得分:0)

假设这是HTML输出,而不是控制台,您可以尝试类似于:

的内容
while ($row = mysqli_fetch_assoc($whoisloggedin) ) {
  $usersArray = $row['status'];    
  $usersArray2 = $row['username'];

  print '<pre>';
  switch( $usersArray ) {
    case 'something':
      $color = "red";
      break;
    case 'somethingelse':
      $color = "blue"
      break;
    default:
      $color = "white";
      break;
  }
  print '<span style="color: '.$color.'">'.$usersArray.' '.$usersArray2.'</span>';
  print '</pre>'
}

显然,最好用类替换style标记,并将颜色添加到CSS中 - 例如

print '<span class="'.$color.'">';

使用类似于

的CSS行
span.blue { color: blue; }

编辑根据@David Jones解决方案

整合$ color变量