在我的应用程序中有不同的促销活动,usera可以使用单个或多个选择问题来回答促销活动。我使用以下逻辑,除了一个问题之外它工作正常:
for ($i=0;$i<count($questions);$i++)
{
if($questions[$i][type_of_question] == 'multiple_choice')
{
$options_array = explode(",", $_REQUEST["que".$questions[$i][id]]);
}
// Code here which insert answers in database table
}
这行代码:
$options_array = explode(",", $_REQUEST["que".$questions[$i][id]]);
此代码显示逗号分隔的问题答案。例如:
示例1:test1,test2,test3 [此方案正常]
示例2:是,不,我不感兴趣(板球,足球)
示例2显示了问题,例如如果有,在选择选项内。 Php根据函数中断函数break和值,所以在这种情况下我得到4个数组元素。
Array[0] => yes
Array[1] => no
Array[3] => I am not interested(cricket
Array[4] => footbal
虽然我需要关注:
Array[0] => yes
Array[1] => no
Array[3] => I am not interested(cricket,footbal)
如何解决此问题?有什么建议吗?
答案 0 :(得分:-1)
您需要修改数据从前端输入的方式:单独使用此代码无法解决此问题。例如,您可以输入yes, no, maybe
,它可以是yes
,no
,maybe
或yes
,no, maybe
。
您需要在前端执行一些一致的编码或转义,以便您可以唯一地访问记录。你没有告诉我们它是如何在前面提交的,但仅仅用逗号连接答案是不够的。您可以尝试在字段中转义逗号!