下面的代码会返回一个表格,其中包含$commentstring
中显示的每个字词或数字的行。每个单词或数字在下表中显示为$word
。如何排除数字?
$words = explode(" ", $commentstring);
$result = array_combine($words, array_fill(0, count($words), 0));
arsort($words);
foreach($words as $word) {
$result[$word]++;
arsort($result);
}
echo "<table>";
foreach($result as $word => $count1) {
echo '<tr>';
echo '<td>';
echo "$word";
echo '</td>';
echo '<td>';
echo "$count1 ";
echo '</td>';
echo '</tr>';
}
echo "</table>";
答案 0 :(得分:4)
您可以使用is_numeric
检查每个$word
是否为数字,如果不是,则只将其插入数组中。
if (!is_numeric($word)) {
if (!isset($result[$word]))
$result[$word] = 0;
$result[$word]++;
arsort($result);
}
编辑:另外,你真的需要在每个增量上对数组进行排序吗?为什么不在最后对它进行排序?
答案 1 :(得分:1)
如果我正确理解您的问题,您可以使用is_numeric()
函数检查$ word var是否为数字
foreach($result as $word => $count1) {
if(is_numeric($word)) { continue; }
...