如何在php echo中使用多个if语句或函数?

时间:2017-06-14 03:11:48

标签: php

我想根据数值来改变数字的生成方式。默认值在unix时期,我将它们转换为echo中的小时数。

$clock = time(); 

$sql = "SELECT unix FROM things";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
         echo round(($row["unix"] - $clock)/3600) .' hours from now.;

现在它正常工作,并且它正确地显示了几个小时,但我想根据unix时间戳显示的内容来更改它,这是它变得棘手的地方。 我希望如果unix秒小于3600则将“小时”更改为分钟,如果小于60则将其更改为秒,如果大于86400则更改为几天。我该怎么做?

2 个答案:

答案 0 :(得分:0)

你可以把你的小心脏窝起来。

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        //DONT NEED $ SIGN WHEN ROUNDING!!!!
        $time = round(($row["unix"] - $clock / 3600);
        if ($time <= 60) {
            echo $time . ' seconds from now.';
        } elseif (($time > 60) && ($time <= 3600)) {
            echo $time . ' hours from now.';
        } else {
            // You get the idea.
        }
    }
}

答案 1 :(得分:0)

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    $time = round(($row["unix"] - $clock / 3600);
     if ($time <= 60) {
        echo  $time . ' seconds from now.';
     } elseif (($time > 60) && ($time <= 86400)) {
        echo $time . ' hours from now.';
     } else {
        echo  $time . ' days from now.';
    }
  }
}