修改$_REQUEST响应或使用分解在数组中获得正确值的任何替代方法


Modification in $_REQUEST response or any alternative to get correct value in array using explode

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

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)

如何解决此问题?有什么建议吗?

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

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