我对用于调查的 PHP 代码有疑问。该代码仅采用一个值“answer”,如果没有答案,则采用“otherAnswer”。我需要它同时接受“答案”和“其他答案”这是代码。感谢帮助。protected function convertRequestToUserAnswersArray(){ $answers = []; if ($this->request->hasArgument('answers')) { /** @noinspection PhpUnhandledExceptionInspection */ $requestAnswers = $this->request->getArgument('answers'); /** @noinspection PhpWrongForeachArgumentTypeInspection */ foreach ($requestAnswers as $questionUid => $requestAnswer) { $answers[$questionUid] = $requestAnswer['answer'] ?: $requestAnswer['otherAnswer']; } } return $answers;}
3 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
假设这$answers[$questionUid]是一个数组,您可以尝试将值推送到它:
/** @noinspection PhpWrongForeachArgumentTypeInspection */
foreach ($requestAnswers as $questionUid => $requestAnswer) {
$answers[$questionUid] = $requestAnswer['answer'] . '----' . $requestAnswer['otherAnswer'];
}
希望这可以帮助。
繁华开满天机
TA贡献1816条经验 获得超4个赞
正如你所说,你想要两个值然后你可以存储到数组中,如下所示
$answers[$questionUid][] = $requestAnswer['answer'];
$answers[$questionUid][] = $requestAnswer['otherAnswer'];
通过使用上面的脚本$answers将有两个值反对$questionUid
largeQ
TA贡献2039条经验 获得超7个赞
我们不知道$answers
将如何使用。因为返回 answer 和 otherAnswer 都需要$answers
是数组。这意味着$answers
必须重构任何用户。
像这样的东西可能会起作用:
$answers[$questionId] = ["answer" => $requestAnswer["answer"], "otherAnswers" => requestAnswer["otherAnswer"] ]
只需为密钥存在添加一些检查机制。
或者您可以按照另一个 SO 答案中的建议将其连接起来。
- 3 回答
- 0 关注
- 130 浏览
添加回答
举报
0/150
提交
取消