【问题标题】:PHP - If variable's character is number then do somethingPHP - 如果变量的字符是数字,那么做一些事情
【发布时间】:2022-01-16 17:39:40
【问题描述】:

我创建了一个显示表格名称的 PHP 页面,有些名称太长,如果$name 是 12 个字符,我想将 12 个字符之后的内容替换为 ... 这是我的代码

$query= mysql_query("SELECT * FROM `table`")or die(mysql_error());
while($arr = mysql_fetch_array($query)){
    $num = mysql_num_rows($query);
    $name= $arr['name'];
    echo '</br>';
    echo $name;
}

我该怎么做?

【问题讨论】:

标签: php html mysql database maxlength


【解决方案1】:

试试:

$name = (strlen($arr['name']) > 12) ? substr($arr['name'],0,12) . "..." : $arr['name'];

这是一个条件赋值。如果$arr['name'] 大于 12 个字符,则将其截断为 12 个字符并添加“...”。否则,它使用全名。

【讨论】:

  • 您也可以使用 substr_replace 函数。代码将是:substr_replace($arr['name'],"...",12) 而不是 substr($arr['name'])."..."
【解决方案2】:
if (strlen($name) > 12)
    $name = substr($name, 0, 12) . '...';

https://php.net/strlen

https://php.net/substr

【讨论】:

    【解决方案3】:

    你可以这样做:

    if( strlen($arr['name']) > 12)
    {
     substr($arr['name'],0,12)."...";
    }
    

    因此,您的代码将如下所示:

    $query= mysql_query("SELECT * FROM `table`")or die(mysql_error());
    while($arr = mysql_fetch_array($query)){
    $num = mysql_num_rows($query);
    $name= $arr['name'];
    echo '</br>';
    if(strlen($name) > 12)
      {
      substr($name,0,12) . "...";
      }
    }
    

    【讨论】:

      【解决方案4】:

      你可以这样做:-

      <?php
      $mystring = "this is a test string to check that";
      
      if( strlen($mystring) >= 12)
      {
       $result= substr($mystring,0,12);
       $result .='...';
      }
          echo $result;
      
      ?>
      

      【讨论】:

        猜你喜欢
        • 2016-09-22
        • 2016-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-17
        • 2021-08-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多