如果雄蕊php,则条件失败


condition failing if stament 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似乎从来都不是"Kit",但是如果我回显getHeaderHml,我会得到"Kit"作为第一个结果。不,我不能在if语句条件内回显。

如何将此值转换为字符串并进行比较?

更多信息:

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

更新:

一直看错了这个,回声出来的"Kit"实际上是html。因此:

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

那么,如何获取"Kit"值并对其进行评估呢?

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

就你而言。

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

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

尝试在变量前面添加(string),如下所示:This forces的类型为string。这就是所谓的类型铸造。

<?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; ?>