从数组中排除数字

时间:2012-02-03 23:22:07

标签: php

下面的代码会返回一个表格,其中包含$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>";

2 个答案:

答案 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; }
    ...