【问题标题】:PHP concatenation outputs extra spacePHP连接输出额外的空间
【发布时间】:2014-03-21 04:42:04
【问题描述】:

我不知道我这样做是否正确,可能不是。

基本上我试图与一些 IF 条件连接。我刚刚了解了热操作。检查 firebug 中的代码,我发现在两个类之间添加了一些额外的空间,这会导致一些问题。

到目前为止,代码如下:

<?php 
    $output .= '<span class="ca-icon '.
    (($category->getId()==3)||($category->getId()==4)||($category->getId()==5)||($category->getId()==6)||($category->getId()==7) ? " activeMenuLink " : "").'
    icon-'. strtolower(str_replace($characters,$replacements,Mage::helper('pronav')->__($data['name']))).'"></span>';
?>

【问题讨论】:

  • 在 activeMenuLink 之后,' 和 icon 之间有一个空格 - 你有一个空格,有 2 个空格,你看到多少?
  • 可能的问题是在第 3 行的末尾有 .'然后在字符串继续之前换行。
  • @CodeBird: 好像有 4 个空格,就像我有 4 个条件一样
  • 它会导致什么问题?
  • “在两个类之间添加了额外的空间,这会导致一些问题” – 那会是什么?从 HTML/CSS 的角度来看,类名之间的额外空格完全没有问题。

标签: php if-statement concatenation string-concatenation conditional-operator


【解决方案1】:

在您的原始代码中,第 3 行末尾有一个新行,第 4 行开头有几个空格。

注意第 3 行末尾的开头“引号”。这是您的文字字符串开始的地方。

【讨论】:

    【解决方案2】:

    这应该可以解决问题:

    <?php 
        $output .= '<span class="ca-icon '.
        (($category->getId()==3)||($category->getId()==4)||($category->getId()==5)||   ($category->getId()==6)||($category->getId()==7) ? " activeMenuLink " : "")
    .'icon-'. strtolower(str_replace($characters,$replacements,Mage::helper('pronav')->__($data['name']))).'"></span>';
    ?>
    

    【讨论】:

    • 感谢克里斯蒂安,确实成功了。我会仔细看看我错过了什么......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多