条件失败,如果stament php

时间:2015-11-24 14:51:28

标签: magento php

我有以下代码:

<?php foreach ($this->getColumns() as $_column): ?> 
    <?php if( $_column->getHeaderHtml() == "Kit"): ?>
        <p>Yes im a kit</p>
    <?php endif; ?>
    <th<?php echo $_column->getHeaderHtmlProperty() ?>><span class="nobr"><?php echo $_column->getHeaderHtml() ?></span></th>
<?php endforeach; ?>

当我运行此代码时,似乎getHeaderHtml永远不会是&#34; Kit&#34;但是,如果我回应了getHeaderHtml,我会得到&#34; kit&#34;作为第一个结果。不,我不能在if语句中回应。

如何将此值传递给字符串并进行比较?

更多信息:

此外,如果我不回应getHeadeHtml()而是将其保存到变量并且在div内部,div不打印任何内容,直到我回显。 (怀疑这只是你需要打印或回显变量到页面的事实)

更新:

一直在看这个错误,&#34; Kit&#34;那回声实际上就是html。 所以它:

<a href="#" name="is_kit" title="asc" class="not-sort">
    <span class="sort-title">Kit</span>
</a>

那么我如何得到&#34; Kit&#34;价值并评估它?

2 个答案:

答案 0 :(得分:1)

尝试在变量之前添加(字符串),如下所示:此强制类型为String。这称为Type Casting。

<?php foreach ($this->getColumns() as $_column): ?> 
    <?php if( (string)$_column->getHeaderHtml() == "Kit"): ?>
        <p>Yes im a kit</p>
    <?php endif; ?>
    <th<?php echo $_column->getHeaderHtmlProperty() ?>><span class="nobr"><?php echo $_column->getHeaderHtml() ?></span></th>
<?php endforeach; ?>

答案 1 :(得分:1)

如果您已经知道该值应该是什么,那么您可以尝试使用strrchr。

所以在你的情况下。

<?php foreach ($this->getColumns() as $_column): ?> 
    <?php if(strrchr($_column->getHeaderHtml(),"Kit")): ?>
        <p>yes im a kit!</p>
    <?php endif; ?>

<?php endforeach; ?>

此外,您可能还希望更新您的问题标题,因为它有点模糊。