0

在下面的代码中,通过使用 implode 和 explode 并通过查找每个问题的选项类型,我尝试从完整选项类型中检索每个单独的选项。

例如:

A-E使A B C D E

A-C使A B C

True or False使True False

Yes or No使Yes No

现在这适用于以下代码:

<?php

  function ExpandOptionType($option) { 
      $options = explode('-', $option);
      if(count($options) > 1) {
        $start = array_shift($options);
        $end = array_shift($options);
        do {
          $options[] = $start;
        }while(++$start <= $end);
      }
      else{
        $options = explode(' or ', $option);
      }
      return implode(" ", $options);
    }

foreach ($arrQuestionId as $key=>$question) {

    ?>

    <div class='lt-container'>

    <p><?php echo htmlspecialchars($arrQuestionNo[$key]) . ": " .  htmlspecialchars($arrQuestionContent[$key]); ?></p>



    <p><?php echo ExpandOptionType(htmlspecialchars($arrOptionType[$key])); ?></p>


    </div>


    <?php

    }

    ?>

但我想要做的是,除了仅通过字符串显示各个选项之外,我还想将它们显示为复选框。但是我在下面的尝试没有奏效,我怎样才能显示复选框?我实际上收到一条警告:Warning: explode() expects parameter 3 to be long, string given in ... on line 241

 function ExpandOptionType($option) { 
        $options = explode('-', '<input type=\"checkbox\" name=\"anstype\" class=\"answers\" id=\"answer".$option."\" name=\"answerName[$option]\" value=\"$option\" />', $option);
 //LINE 241
      if(count($options) > 1) {
        $start = array_shift($options); 
        $end = array_shift($options);
        do {
          $options[] = $start;
        }while(++$start <= $end);
      }
      else{
          $options = explode(' or', '<input type=\"checkbox\" name=\"anstype\" class=\"answers\" id=\"answer".$option."\" name=\"answerName[$option]\" value=\"$option\" />', $option);

      }
      return implode(" ", $options);
    }
    ?>
4

0 回答 0