Php if-else语句在TD中得到了响应

Php if-else语句在TD中得到了响应,php,html,Php,Html,大家好,(无法决定是迎接上午、下午还是晚上):p 我想就我的问题寻求一些建议,或者更确切地说是帮助。我有一个显示一些号码的代码,包括短信号码(SIM卡号)和手机号码。该代码位于如下所示的回显TD中 原始代码 <table style = 'font-family:Verdana;font-size:11px;' width = '100%' cellpadding = '1px' cellspacing = '1px'>

大家好,(无法决定是迎接上午、下午还是晚上):p

我想就我的问题寻求一些建议,或者更确切地说是帮助。我有一个显示一些号码的代码,包括短信号码(SIM卡号)和手机号码。该代码位于如下所示的回显TD中

原始代码

          <table style = 'font-family:Verdana;font-size:11px;' width = '100%' cellpadding = '1px' cellspacing = '1px'>
                          <tr>
                            <td width = '100px' align = 'right'>Cage No:</td>
                            <td> ".$row2['gps_num']."</td>

                            <td width = '100px' align = 'right'>Sim Card No.:</td>
                            <td> ".$row3['SIM1']."</td>

                            <td width = '100px' align = 'right'>Animal Type:</td>
                            <td> ".$devtype."</td>

                            <td width = '100px' align = 'right' colspan='2'>".$label."</td>

                          </tr>
            </table>

笼号:
“$row2['gps_num']”。”
Sim卡号码:
“$row3['SIM1']”
动物类型:
“$devtype。”
“$label。”
现在我想放置一个if-elseif语句,其中如果$row2['gps_num']有11个字符,那么它将显示SIm卡号而不是cage号。(只需关注第一个TD)如果$row2['gps_num']包含超过11个字符,则第一个TD将显示Cage No

这是我到目前为止得到的结果,但我无法正确地确定我错在哪里

                            <tr>
                        <td>
                          <table style = 'font-family:Verdana;font-size:11px;' width = '100%' cellpadding = '1px' cellspacing = '1px'>
                          <tr>
                            if (.$row2['gps_num']. <= 11) {
                              <td width = '100px' align = 'right'>Cage No.</td>
                              <td> ".$row2['gps_num']."</td>
                            }
                            elseif (.$row2['gps_num']. > 11 ) {
                               <td width = '100px' align = 'right'>Sim Card No.:</td>
                            <td> ".$row3['SIM1']."</td>
                            }

                            <td width = '100px' align = 'right'>Animal Type:</td>
                            <td> ".$devtype."</td>

                            <td width = '100px' align = 'right' colspan='2'>".$label."</td>

                          </tr>

如果(.$row2['gps_num'].11){
Sim卡号码:
“$row3['SIM1']”
}
动物类型:
“$devtype。”
“$label。”

我感谢所有的帮助。谢谢。

您似乎在连接字符串,如果字符串中有
语句,则无法连接


您可以使用三元语句,但在这种情况下,可能更容易终止
echo
或字符串生成操作,并使用单独的
if
-
else
语句来
echo
或添加条件部分。

您可以使用串联和条件(也称三元)表达式:

echo "<tr>
    <td>
      <table style = 'font-family:Verdana;font-size:11px;' width = '100%' cellpadding = '1px' cellspacing = '1px'>
      <tr>" . (strlen($row['gps_num']) <= 11 ?
               "<td width = '100px' align = 'right'>Cage No.</td>
                <td> ".$row2['gps_num']."</td>" :
               "<td width = '100px' align = 'right'>Sim Card No.:</td>
                <td> ".$row3['SIM1']."</td>" ) .
    "<td width = '100px' align = 'right'>Animal Type:</td>
        <td> ".$devtype."</td>

        <td width = '100px' align = 'right' colspan='2'>".$label."</td>

      </tr>";
echo”

" . (strlen($row['gps_num']))你的php标签在哪里?你的意思是如果11个字符,那么为什么要将实际值与11进行比较呢?我该怎么做呢,先生,谢谢。就像你在echo中使用
$devtype
一样。还有你使用
$label
的方式。你似乎已经知道在echo时如何使用变量了,你为什么要问怎么做呢?是的,谢谢,我找到了输出。它可以正常工作,但即使gps_num超过11个字符/字母,它仍然显示cage编号,该编号必须是SIM卡号。我只是从您的原始代码复制了测试。它不测试
gps_num
的长度,只测试它的值。使用
strlen()
获取长度。
if (strlen($row['gps_num']) <= 11) {
    $cols = "<td width = '100px' align = 'right'>Cage No.</td>
                <td> ".$row2['gps_num']."</td>";
} else {
    $cols = ""<td width = '100px' align = 'right'>Sim Card No.:</td>
                <td> ".$row3['SIM1']."</td>";
}