什么" 8+(int)"在Yii标签模型意味着什么?

时间:2015-02-11 04:27:55

标签: php yii tags

我知道(int)是什么意思,但这是我第一次看到(int)这样使用,我不知道它是什么意思。它来自Tag模型中的这段代码。

public function findTagWeights($limit=20)
    {
        $models=$this->findAll(array(
            'order'=>'frequency DESC',
            'limit'=>$limit,
        ));

        $total=0;
        foreach($models as $model)
            $total+=$model->frequency;

        $tags=array();
        if($total>0)
        {
            foreach($models as $model)
                $tags[$model->name]=8+(int)(16*$model->frequency/($total+10));
            ksort($tags);
        }
        return $tags;
    }

我因为这部分而感到困惑

8+(int)(16*$model->frequency/($total+10))

有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

这只表示(16*$model->frequency/($total+10))的结果应在int添加到8之前投放为echo 8 + (int)(2.5+2); // 12 instead of 12.5 ,仅此而已。

这是一个明确的例子

{{1}}

这将删除任何可能的分数,并在每种情况下返回一个整数。

答案 1 :(得分:0)

(int) casts之后的数字为整数。

8 + (int)(16 * $model->frequency / ($total + 10));

与以下内容相同:

8 + intval(16 * $model->frequency / ($total + 10));