-2
まず、配列をコレクションに変換してコレクションメソッドを使用できるようにしてから、このコレクションでいくつかのプロセスを実行します。 しかし、オフセットエラーがあります。 私のミスはどこにあるのか教えてください。未定義オフセット:laravelコレクション
public function MassTransferCh2Q1()
{
$a1 = range('1', '40', '0.3');
$a2 = range('4', '44', '0.3');
$a3 = range('1', '40', '0.5');
$a4 = range('5', '45', '0.5');
$calculated = [];
//calculate #36 Answers array
for ($i = 0; $i <= 35; $i++){
$calculated[$i] = ($a1[$i]/($a1[$i]+$a2[$i]))*(-1*$a3[$i]) + ($a2[$i]/($a1[$i]+$a2[$i]))*($a4[$i]) ;
$calculated[$i] = $this->truncate_number($calculated[$i]);
}
//Convert $calculated Array to a Collection
$results = collect($calculated);
for ($i = 0; $i <= count($results); $i++){
//select Correct answer
$correctAnswer = $results->only($i);
//delete correct answer from calculated collection, so $calculate collection will be equal to incorrect answers ...
$incorrectAnswers = $results->except($i);
//select 5 random item from incorrect answers collection
$randIncorrectAnswers = $incorrectAnswers->random(5);
$answerModel = New Answer();
$answerModel->correct_ans = $correctAnswer;
$answerModel->question_id = '1';
for($n = 0; $n <= 5; $n++){
$answerModel['incorrect_ans_'.$i] = $randIncorrectAnswers[$n];
}
$answerModel->save();
}
return $results;
}
どのラインにエラーがありますか? –
'count($ results)'の代わりに '$ results-> count()'を使うと、 '<='から '<' –