0

在我的应用程序中,有不同的促销活动,用户可以使用单选或多选问题来回答这些促销活动。我正在使用以下逻辑,它工作正常,除了一个问题:

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)

我该如何解决这个问题?有什么建议吗?

4

1 回答 1

-1

您需要修复从前端输入数据的方式:仅此代码无法解决此问题。例如,您可以输入yes, no, maybe,它可以是yes, no, maybe, 或yes, no, maybe

您需要在前端执行一些一致的编码或转义,以便您可以唯一地访问记录。您还没有告诉我们它是如何在前面提交的,但是仅仅用逗号将答案连接在一起是不够的。您可以尝试转义字段中的逗号!

于 2013-08-29T13:13:11.700 回答