私はYiiコードを持っています-
public function actionpublishPollResult()
{
$model=new Polloption();
$json='{"pollId":2}';
$obj=json_decode($json);
$model->pollId=$obj->pollId;
$options=Polloption::model()->findAllByAttributes(array('pollId'=>$model->pollId));
$total=0;
foreach ($options as $option)
{
echo "option id :-".$option->optionId."<br>";
$vote=new Pollvote();
echo "Number of votes to option :".$option->optionId." "."is=".count($option->pollvotes)."</br>";
$total=$total+count($option->pollvotes);
$data[] =count($option->pollvotes);
}
echo "</br>";
echo "Total number of votes obtained=".$total;
foreach ($data as $votepercentage)
{
$percentageResult[]=$votepercentage/$total*100;
}
echo "</br>";
echo CJSON::encode(array('options'=>$options,'percentagevotes'=>$percentageResult));
}
したがって、次のような出力が得られます
{"options":[{"optionId"=>1,"option"=>"abc"},{"optionId"=>2,"option"=>"xyz"}],{"percentagevotes":[25 ,75]}}
しかし、私はこのパーセント投票フィールドをオプション配列にのみ追加したいと考えています。したがって、上記の foreach 構造にどのような変更を加える必要がありますか。$total は、オプションのループ全体が実行された後にのみ取得されるため..したがって、オプションのみの foreach で percentvotes フィールドを計算して追加する方法。私を案内してください...