我有以下代码:
<?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; ?>