【问题标题】:Skip the last data in a php if statement跳过 php if 语句中的最后一个数据
【发布时间】:2014-02-20 10:49:06
【问题描述】:

如果 id 是特定的(例如 3),我想在它们之间打印并添加一个字符(例如 *),但我不希望在最后一个数据之后添加它。

我有这个代码:

<?php 
foreach ($attribute_group['attribute'] as $attribute) {

if ($attribute_group['attribute_group_id'] == '3') {

    echo implode(' * ', $attribute['name'] . $attribute['text']);
    }

    else

    echo ($attribute['name'] . $attribute['text']);
    }

?>

现在输出如下:

Attribute 1 * Attribute 2 * Attribute 3 *

我想要这样:

Attribute 1 * Attribute 2 * Attribute 3

【问题讨论】:

  • 我不明白。您在 1 和 2 之间添加了 *,即使您只指定了 3?你只想用*implode() 这些吗?
  • 只有在attribute_group_id 为3 时才回显'echo',而不是在最后一条记录之后。
  • 请粘贴其余代码; Attribute 1, 2, 3 的来源是什么?
  • 上面已经粘贴了整个代码。

标签: php skip


【解决方案1】:

只需删除最后一个字符:

$string = "Attribute 1 * Attribute 2 * Attribute 3 *";
echo rtrim($string, "*");

【讨论】:

    【解决方案2】:

    你也可以试试rtrim():
    演示:https://eval.in/103723

    $data =  array(
            '1' => 'Attribute 1',
            '2' => 'Attribute 2',
            '3' => 'Attribute 3',
            '4' => 'Attribute 4',
            '5' => 'Attribute 5'
        );
    
        $strOutput="";
        foreach ($data as $d){
         $strOutput .= $d." * ";
    
        } 
    
        echo rtrim($strOutput," * ");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多