我有以下代码:
<?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;价值并评估它?
答案 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; ?>
此外,您可能还希望更新您的问题标题,因为它有点模糊。