Yii 标签模型中的“8+(int)”是什么意思?
What does "8+(int)" in Yii Tag Model mean?
我知道 (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))
有人可以帮我吗?
这仅表示 (16*$model->frequency/($total+10))
的结果在添加到 8
之前应转换为 int
,仅此而已。
这里举个例子说明一下
echo 8 + (int)(2.5+2); // 12 instead of 12.5
这会删除所有可能的分数,并在每种情况下 returns 一个整数。
(int)
casts 数字,在它之后,为整数。
8 + (int)(16 * $model->frequency / ($total + 10));
等同于:
8 + intval(16 * $model->frequency / ($total + 10));
我知道 (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))
有人可以帮我吗?
这仅表示 (16*$model->frequency/($total+10))
的结果在添加到 8
之前应转换为 int
,仅此而已。
这里举个例子说明一下
echo 8 + (int)(2.5+2); // 12 instead of 12.5
这会删除所有可能的分数,并在每种情况下 returns 一个整数。
(int)
casts 数字,在它之后,为整数。
8 + (int)(16 * $model->frequency / ($total + 10));
等同于:
8 + intval(16 * $model->frequency / ($total + 10));