2012-03-19 29 views
1

我有一个foreach循环遍历数组中的对象。目前,它输出每个元素的信息。我只需要在id属性末尾打印出只有“a”对象的数据。代码如下:仅打印在特定值PHP结尾处具有“a”的结果集?

foreach ($obj as $key => $value) { 
    echo '<tr id="subRow">'; 
    echo '<td>' . $value->date . '</td>'; 
    echo '<td class="leftLine">' . $value->Name . '</td>'; 
    echo '<td class="leftLine">' . $value->dealType . '</td>'; 
    echo '<td class="leftLine">' . $value->id . '</td>'; 
    echo '<td class="leftLine">' . 'Adobe PDF' . '</td>'; 
    echo '</tr>'; 
} 

因此,对于包含有“一个”在它的端部,打印出整个元件的ID号码的$obj的每个元素。

+0

这个问题可以用样本数据,与预期的HTML输出一起。在寻求帮助时,请始终描述您想要的内容以及您实际获得的内容,包括任何错误消息。请注意,箭头操作符(' - >')仅适用于对象,不适用于数组,因此代码不会与描述一起播放。 – outis 2012-03-19 19:24:34

+0

使用substr()获取最后一个字母并检查其“a” – 2012-03-19 19:25:04

+0

感谢您的提示outis。我会采取适当的措施来进一步解释我的下一个问题。我还在学习。 :)事实上,它是一个对象 - 这基本上是一个关联数组。 – mdance 2012-03-19 19:32:20

回答

4

substr可以与帮助:

foreach ($obj as $key => $value) { 
    if(substr($value->id, -1) === 'a') { 
     echo '<tr id="subRow">'; 
     echo '<td>' . $value->date . '</td>'; 
     echo '<td class="leftLine">' . $value->Name . '</td>'; 
     echo '<td class="leftLine">' . $value->dealType . '</td>'; 
     echo '<td class="leftLine">' . $value->id . '</td>'; 
     echo '<td class="leftLine">' . 'Adobe PDF' . '</td>'; 
     echo '</tr>'; 
    } 
} 
+0

太棒了!谢谢。完美的作品。 – mdance 2012-03-19 19:27:33

+0

@outis:拒绝原因:彻底改变 – Ryan 2012-08-09 17:16:01