doulian1852 2017-06-29 12:54
浏览 119
已采纳

如何在数组中获取逗号分隔符(,)值?

Here Is my array i.e. $data.

function generateQuestion($userdata) {
$module_name = $userdata->module_name;
$module = new Module();
$module->data['*'] = '';
$module->where = " module_name = '" . $module_name . "' and is_delete='0'";
$module->action = "get";
$module_res = $module->process();
$data = array();
if($module_res['count'] > 0) {
    foreach ($module_res['res'] as $module_key => $module_value) {
        $cat = new Category();
        $cat->data['*'] = '';
        $cat->where = "que_module_id='".$module_value['module_id']."' and is_delete='0'";
        $cat->action = "get";
        $cat_res = $cat->process();

        foreach ($cat_res['res'] as $cat_key => $cat_value) {
            $question = new Question();
            $question->data['*'] = '';
            $question->where = "question_cat_id='".$cat_value['que_cat_id']."' and is_delete='0'";
            $question->action = "get";
            $question_res = $question->process();
            foreach ($question_res['res'] as $question_key => $question_value) {
                $que_ans = '';
                if($question_value['question_ans'] == 1) {
                    $que_ans = 'Yes';
                } elseif($question_value['question_ans'] == 2) {
                    $que_ans = 'No';
                } else {
                    $que_ans = 'N/A';
                }
                $options = explode(',',$question_value['question_options']);

                $data[$module_value['module_name']][$cat_value['que_cat_id']][$question_value['question_id']] = array(
                    'question_name' => $question_value['question_name'],
                    'question_ans'  => $que_ans,
                    'question_ans_comments' => $question_value['question_ans_comments'] == ''?'None':$question_value['question_ans_comments'],
                    'question_options' => explode(',',$question_value['question_options'])
                );
            }
        }
    }
    print_r($data);die;
    //echo json_encode(array("data"=>$data,"status" => "success", 'message' => 'Question Listing'));
} else {
    echo json_encode(array("status" => "error", 'message' => 'Module Not Found'));
}
}
  $data[$module_value['module_name']][$cat_value['que_cat_id']]
 [$question_value['question_id']] = array(
                    'question_name' => $question_value['question_name'],
                    'question_ans'  => $que_ans,
                    'question_ans_comments' => $question_value['question_ans_comments'] == ''?'None':$question_value['question_ans_comments'],
                    'question_options' => explode(',',$question_value['question_options'])
                );

output of above array :

Array
(
[Prestart Hand Tools/Electric Power Tool Safety Checks] => Array
    (
        [3] => Array
            (
                [1] => Array
                    (
                        [question_name] => machine runs correctly no 
                          abnormal noise
                        [question_ans] => No
                        [question_ans_comments] => None
                        [question_options] => Array
                            (
                                [0] => 1
                                [1] => 2
                                [2] => 3
                                [3] => 4
                            )

                    )

                [4] => Array
                    (
                        [question_name] => abc
                        [question_ans] => Yes
                        [question_ans_comments] => None
                        [question_options] => Array
                            (
                                [0] => 1
                            )

                    )

            )

        [5] => Array
            (
                [2] => Array
                    (
                        [question_name] => machine runs correctly no abnormal noise
                        [question_ans] => No
                        [question_ans_comments] => None
                        [question_options] => Array
                            (
                                [0] => 1
                                [1] => 2
                                [2] => 3
                                [3] => 4
                            )

                    )

            )

        [6] => Array
            (
                [3] => Array
                    (
                        [question_name] => machine runs correctly no abnormal noise
                        [question_ans] => No
                        [question_ans_comments] => None
                        [question_options] => Array
                            (
                                [0] => 1
                                [1] => 2
                                [2] => 3
                                [3] => 4
                            )

                    )

            )

    )

)

My database field store question_options like 1,2,3,4

enter image description here

I want the array like

Array
(
[Prestart Hand Tools/Electric Power Tool Safety Checks] => Array
    (
        [3] => Array
            (
                [1] => Array
                    (
                        [question_name] => machine runs correctly no 
                           abnormal noise
                        [question_ans] => No
                        [question_ans_comments] => None
                        [question_options] => Array
                            (
                                [1] => 'Yes'
                                [2] => 'No'
                                [3] => 'N/a'
                                [4] => 'comments'
                            )

                    )

                [4] => Array
                    (
                        [question_name] => abc
                        [question_ans] => Yes
                        [question_ans_comments] => None
                        [question_options] => Array
                            (
                                [1] => 'Yes'
                            )

                    )

            )

        [5] => Array
            (
                [2] => Array
                    (
                        [question_name] => machine runs correctly no 
                             abnormal noise
                        [question_ans] => No
                        [question_ans_comments] => None
                        [question_options] => Array
                            (
                                [1] => 'Yes'
                                [2] => 'No'
                                [3] => 'N/a'
                                [4] => 'comments'
                            )

                    )

            )

        [6] => Array
            (
                [3] => Array
                    (
                        [question_name] => machine runs correctly no 
                          abnormal noise
                        [question_ans] => No
                        [question_ans_comments] => None
                        [question_options] => Array
                            (
                                [1] => 'Yes'
                                [2] => 'No'
                                [3] => 'N/a'
                                [4] => 'comments'
                            )

                    )

            )

    )

)

Please help me to solve out this issue.

  • 写回答

2条回答 默认 最新

  • douzi4724 2017-06-29 13:32
    关注

    Try this.

    $options = array(1,2,4); // array of explode(',',$question_value['question_options'])
    
        function getOptions($options){
            $temparray = array();
            $option_fix_array = array(
                        1 => 'Yes',
                        2 => 'NO',
                        3 => 'N/A',
                        4 => 'Comments', 
                    );
            foreach($options as $value){
                if(array_key_exists($value,$option_fix_array)){
                    $temparray[$value] = $option_fix_array[$value];
                }
            }
            return $temparray;
        }
    
        print_r(getOptions($options));
    

    I think this will Help you.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP