私はこの関数をどのように書くべきかについてひどく混乱しています...それは基本的にテストを評価し、1人のユーザーの値で動作します。PHPのアサーションと配列
次のユーザーの値を入力したいとしましょう:$id = 2
...これが動作します! $id = array(2,3,4,5)
それが動作しない場合!
function get_score_a($id){
// Case 4
foreach($this->get_results_a($id,4)->row() as $key=>$a){
if ($a >= 2 && $a <= 4) {
$score_a += 2;
} else if ($a > 4 && $a < 8) {
$score_a += 3;
} else if ($a > 8) {
$score_a += floor($a - 8) * .5;
$score_a += 3;
}
};
return $score_a;
}
function get_results_a($id, $method) {
$select_cols = array(
1 => array('a_1','a_2','a_4'),
2 => array('a_6','a_8','a_11','a_12','a_14'),
3 => array('a_3','a_10'),
4 => array('a_5','a_7','a_9','a_13')
);
return $this->db->select($select_cols[$method])
->where_in('id', $id)
->get('be_survey');
}
これは私が複数のIDを実行した場合、スコアは...しかし、...それはちょうど私が思うに、すべての数字を足し返す...
代わりに、私は、出力の別々のスコアにこれを必要とします個々のユーザー...
私は合計のnoobだと注目されるかもしれません!だからこやかな説明は非常に感謝しています。 :)
編集してください...私はもっと明確にすべきでした!ごめんなさい! 私はお詫び申し上げます! 合計で
に基づいてテーブルから正しい値を選択します。はい、私の目にも痛いです! 私はあまりにも急いでいます!これはCodeigniterプロジェクトです!
Aargh!私の目! – fredley
"これはスコアを返します。"いいえ、それはありません。最初の行に解析エラーが返されます。 – webbiedave
CodeIgniterのPHPフレームワークを使用していますか?なぜあなたは '$ this'を使用していますか? – Stoic