2017-09-30 17 views
0

문제는 그 사람이 아마 저는 누락 된 것을 지적, 또는 수 PHP 7.1.1 주변에 작업을 마련 바라고있어 ATutor QTI ParserPHP7 xml_parse() 변경, 잘린 배열? 나는 데

에서 xml_parse() 함수를 발생 .

PHP xml_parse() 함수가 5.6에서 7.1로 변경되었다고 제안하는 문서 나 게시물이 없습니다. 두 버전이 xml을 다르게 구문 분석하는 것처럼 보입니다. 구문 분석되는 XML이 아래에 나와 있습니다. PHP 7.1.1와 모든 다른 동일하게되고, 그것은 첫 번째 반환

[question] => Array 
    (
     [0] => graphic matching 
     [1] => LIKERT 
     [2] => multi choice question 
     [3] => Mutliple question 
     [4] => open ended 
     [5] => ordering 
     [6] => Simple match 
     [7] => true 
    ) 

동안 :

특히, 예제 질문 배열, 5.6.30처럼, 질문의 배열을 반환 위의 각 배열 요소의 문자를 문자열로 나타냅니다.

[question] => gLmMooSt 

XML 파일은 QTI 테스트 (즉, 퀴즈) 패키지의 IMS QTI 1.2.1 매니페스트입니다.

다음 요소에서 발견되는 질문 제목 (질문 자체)은 PHP5.6 ([0] => 그래픽 일치)을 사용할 때 배열의 첫 번째 요소로 반환되는 요소이며, 사용할 때 상기 질문 문자열의 첫 글자 "g"로 되돌아 PHP7.1.1 ([질문] => gLmMooSt)

<material> 
     <mattext texttype="text/html">graphic matching</mattext> 
</material> 

<?xml version="1.0" encoding="utf-8"?> 
 

 
<questestinterop 
 
    xmlns="http://www.imsglobal.org/xsd/ims_qtiasiv1p2" 
 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 
    xsi:schemaLocation="http://www.imsglobal.org/xsd/ims_qtiasiv1p2 http://www.imsglobal.org/profile/cc/ccv1p0/derived_schema/domainProfile_4/ims_qtiasiv1p2_localised.xsd" 
 
> 
 
\t <assessment title="Simple test" ident="d41d8cd98f00b204e9800998ecf8427e"> 
 
       
 
\t \t <section ident="ATUTOR-8" title="Simple test"> 
 
\t \t <!-- matching question with partial marks --> 
 
\t \t <item title="Mathcing question" ident="ITEM_2"> 
 
\t \t \t <itemmetadata> 
 
\t \t \t \t <qtimetadata> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_itemtype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Logical Groups</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_questiontype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Drag-and-drop</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_profile</fieldlabel> 
 
         <fieldentry>cc.pattern_match.v0p1</fieldentry> 
 
        </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_weighting</fieldlabel> 
 
         <fieldentry>5</fieldentry> 
 
        </qtimetadatafield> 
 
\t \t \t \t </qtimetadata> 
 
\t \t \t </itemmetadata> 
 
\t \t \t <presentation> 
 
\t \t \t \t <flow> 
 
\t \t \t \t \t <material> 
 
\t \t \t \t \t \t <mattext texttype="text/html">graphic matching</mattext> 
 
\t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t 
 
\t \t \t \t \t <response_lid ident="RESPONSE-98f13708210194c475687be6106a3b84" rcardinality="Multiple"> 
 
\t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t <mattext texttype="text/html">a</mattext> 
 
\t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t <render_choice shuffle="No"> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Option0"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">A</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Option1"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">B</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t </render_choice> 
 
\t \t \t \t \t </response_lid> 
 
\t \t \t \t \t \t \t 
 
\t \t \t \t \t <response_lid ident="RESPONSE-3c59dc048e8850243be8079a5c74d079" rcardinality="Multiple"> 
 
\t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t <mattext texttype="text/html">b</mattext> 
 
\t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t <render_choice shuffle="No"> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Option0"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">A</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Option1"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">B</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t </render_choice> 
 
\t \t \t \t \t </response_lid> 
 
\t \t \t \t \t \t \t \t \t </flow> 
 
\t \t \t </presentation> 
 

 
\t \t \t <resprocessing> 
 
\t \t \t \t <outcomes> 
 
\t \t \t \t \t <decvar varname="SCORE" /> 
 
\t \t \t \t </outcomes> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t </resprocessing> 
 
\t \t \t \t </item> 
 

 

 
<!-- likert question (aka multiple choice with no correct answer) --> 
 
\t \t <item title="Multiple choice question" ident="ITEM_1"> 
 
\t \t \t <itemmetadata> 
 
\t \t \t \t <qtimetadata> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_itemtype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Logical Identifier</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_questiontype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Multiple-choice</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_profile</fieldlabel> 
 
         <fieldentry>cc.mutliple_choice.v0p1</fieldentry> 
 
        </qtimetadatafield> 
 
\t \t \t \t </qtimetadata> 
 
\t \t \t </itemmetadata> 
 
\t \t \t <presentation> 
 
\t \t \t \t <flow> 
 
\t \t \t \t \t <material> 
 
\t \t \t \t \t \t <mattext texttype="text/html">LIKERT</mattext> 
 
\t \t \t \t \t </material> 
 
\t \t \t \t \t <response_lid ident="RESPONSE1" rcardinality="Single"> 
 
\t \t \t \t \t \t <render_choice shuffle="No" minnumber="1" maxnumber="1"> 
 
\t \t \t \t \t \t \t <flow_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice0"> \t 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">A LITTLE</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice1"> \t 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">A lot</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t </flow_label> 
 
\t \t \t \t \t \t </render_choice> 
 
\t \t \t \t \t </response_lid> 
 
\t \t \t \t </flow> 
 
\t \t \t </presentation> 
 

 
\t \t \t <resprocessing> 
 
\t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE1">Choice0</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="que_score" action="Set">0</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE1">Choice1</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="que_score" action="Set">0</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t </resprocessing> 
 
\t \t </item> 
 

 

 
<!-- single answer multiple choice question --> 
 
\t \t <item title="Multiple choice question" ident="ITEM_5"> 
 
\t \t \t <itemmetadata> 
 
\t \t \t \t <qtimetadata> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_itemtype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Logical Identifier</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_questiontype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Multiple-choice</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_profile</fieldlabel> 
 
         <fieldentry>cc.mutliple_choice.v0p1</fieldentry> 
 
        </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_weighting</fieldlabel> 
 
         <fieldentry>5</fieldentry> 
 
        </qtimetadatafield> 
 
\t \t \t \t </qtimetadata> 
 
\t \t \t </itemmetadata> 
 
\t \t \t <presentation> 
 
\t \t \t \t <flow> 
 
\t \t \t \t \t <material> 
 
\t \t \t \t \t \t <mattext texttype="text/html">multi choice question</mattext> 
 
\t \t \t \t \t </material> 
 
\t \t \t \t \t <response_lid ident="RESPONSE5" rcardinality="Single"> 
 
\t \t \t \t \t \t <render_choice shuffle="No" minnumber="1" maxnumber="1"> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice0"> 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">this is correct</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice1"> 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">this is wrong</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice2"> 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">this is wrong</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t </render_choice> 
 
\t \t \t \t \t </response_lid> 
 
\t \t \t \t </flow> 
 
\t \t \t </presentation> 
 
\t \t \t <resprocessing> 
 
\t \t \t \t <outcomes> 
 
\t \t \t \t \t <decvar varname="SCORE" /> 
 
\t \t \t \t </outcomes> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE5">Choice0</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="que_score" action="Set">5</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t 
 
\t \t \t </resprocessing> 
 
\t \t \t \t </item> 
 

 
<!-- multi answer multiple choice question with partial marks --> 
 
\t \t <item title="Multiple answer question" ident="ITEM_4"> 
 
\t \t \t <itemmetadata> 
 
\t \t \t \t <qtimetadata> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_itemtype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Logical Identifier</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
\t     <qtimetadatafield> 
 
         <fieldlabel>qmd_questiontype</fieldlabel> 
 
         <fieldentry>Multiple-response</fieldentry> 
 
        </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_profile</fieldlabel> 
 
         <fieldentry>cc.mutliple_response.v0p1</fieldentry> 
 
        </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_weighting</fieldlabel> 
 
         <fieldentry>5</fieldentry> 
 
        </qtimetadatafield> 
 
\t \t \t \t </qtimetadata> 
 
\t \t \t </itemmetadata> 
 
\t \t \t <presentation> 
 
\t \t \t \t <flow> 
 
\t \t \t \t \t <material> 
 
\t \t \t \t \t \t <mattext texttype="text/html">Mutliple question</mattext> 
 
\t \t \t \t \t </material> 
 
\t \t \t \t \t <response_lid ident="RESPONSE4" rcardinality="Multiple"> 
 
\t \t \t \t \t \t <render_choice shuffle="No"> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice0"> 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">coorect</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice1"> 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">coorect</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice2"> 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">icorrect</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice3"> 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">icorrect</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t </render_choice> 
 
\t \t \t \t \t </response_lid> 
 
\t \t \t \t </flow> 
 
\t \t \t </presentation> 
 
\t \t \t <resprocessing> 
 
\t \t \t \t <outcomes> 
 
\t \t \t \t \t <decvar varname="SCORE" /> 
 
\t \t \t \t </outcomes> 
 
\t \t \t \t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE4">Choice0</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="Respondus_Correct">5</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE4">Choice1</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="Respondus_Correct">5</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t </resprocessing> 
 
\t \t \t \t </item> 
 

 

 
<!-- open ended (free text) question --> 
 
\t \t <item title="Open ended question" ident="ITEM_6"> 
 
\t \t \t <itemmetadata> 
 
\t \t \t \t <qtimetadata> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_itemtype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>String</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_questiontype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>FIB-string</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_profile</fieldlabel> 
 
         <fieldentry>cc.fib.v0p1</fieldentry> 
 
        </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_weighting</fieldlabel> 
 
         <fieldentry>5</fieldentry> 
 
        </qtimetadatafield> 
 
\t \t \t \t </qtimetadata> 
 
\t \t \t </itemmetadata> 
 
\t \t \t <presentation> 
 
\t \t \t \t <flow> 
 
\t \t \t \t \t <material> 
 
\t \t \t \t \t \t <mattext texttype="text/html">open ended</mattext> 
 
\t \t \t \t \t </material> 
 
\t \t \t \t \t <response_str ident="RESPONSE6" rcardinality="Single"> 
 
\t \t \t \t \t \t \t \t \t \t \t \t <render_fib rows="1" columns="5"> 
 
\t \t \t \t \t \t \t <response_label ident="Choice" /> 
 
\t \t \t \t \t \t </render_fib> 
 
\t \t \t \t \t </response_str> 
 
\t \t \t \t </flow> 
 
\t \t \t </presentation> 
 
\t \t \t \t </item> 
 

 

 
<!-- ordering question --> 
 
\t \t <item title="Ordering question" ident="ITEM_7"> 
 
\t \t \t <itemmetadata> 
 
\t \t \t \t <qtimetadata> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_itemtype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Logical Identifier</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
\t \t \t \t </qtimetadata> 
 
\t \t \t </itemmetadata> 
 
\t \t \t <presentation> 
 
\t \t \t \t <flow> 
 
\t \t \t \t \t <material> 
 
\t \t \t \t \t \t <mattext texttype="text/html">ordering</mattext> 
 
\t \t \t \t \t </material> 
 
\t \t \t \t \t <response_lid ident="RESPONSE7" rcardinality="Ordered"> 
 
\t \t \t \t \t \t <render_choice shuffle="Yes" minnumber="4" maxnumber="4"> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice0"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">item1</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice1"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">itms2</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice2"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">item 3</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Choice3"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">items 4</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t </render_choice> 
 
\t \t \t \t \t </response_lid> 
 
\t \t \t \t </flow> 
 
\t \t \t </presentation> 
 
\t \t \t <resprocessing> 
 
\t \t \t \t <outcomes> 
 
\t \t \t \t \t <decvar varname="SCORE" /> 
 
\t \t \t \t </outcomes> 
 
\t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE7">Choice0</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="Respondus_Correct">1.25</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE7">Choice1</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="Respondus_Correct">1.25</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE7">Choice2</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="Respondus_Correct">1.25</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE7">Choice3</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="Respondus_Correct">1.25</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t </resprocessing> 
 
\t \t \t \t </item> 
 

 

 
<!-- matching question with partial marks --> 
 
\t \t <item title="Mathcing question" ident="ITEM_3"> 
 
\t \t \t <itemmetadata> 
 
\t \t \t \t <qtimetadata> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_itemtype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Logical Groups</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_questiontype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Drag-and-drop</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_profile</fieldlabel> 
 
         <fieldentry>cc.pattern_match.v0p1</fieldentry> 
 
        </qtimetadatafield> 
 
        <qtimetadatafield> 
 
         <fieldlabel>cc_weighting</fieldlabel> 
 
         <fieldentry>5</fieldentry> 
 
        </qtimetadatafield> 
 
\t \t \t \t </qtimetadata> 
 
\t \t \t </itemmetadata> 
 
\t \t \t <presentation> 
 
\t \t \t \t <flow> 
 
\t \t \t \t \t <material> 
 
\t \t \t \t \t \t <mattext texttype="text/html">Simple match</mattext> 
 
\t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t 
 
\t \t \t \t \t <response_lid ident="RESPONSE-34173cb38f07f89ddbebc2ac9128303f" rcardinality="Multiple"> 
 
\t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t <mattext texttype="text/html">A</mattext> 
 
\t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t <render_choice shuffle="No"> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Option0"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">A</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Option1"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">B</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t </render_choice> 
 
\t \t \t \t \t </response_lid> 
 
\t \t \t \t \t \t \t 
 
\t \t \t \t \t <response_lid ident="RESPONSE-c16a5320fa475530d9583c34fd356ef5" rcardinality="Multiple"> 
 
\t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t <mattext texttype="text/html">B</mattext> 
 
\t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t <render_choice shuffle="No"> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Option0"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">A</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t <response_label ident="Option1"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">B</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t \t \t \t \t \t </render_choice> 
 
\t \t \t \t \t </response_lid> 
 
\t \t \t \t \t \t \t \t \t </flow> 
 
\t \t \t </presentation> 
 

 
\t \t \t <resprocessing> 
 
\t \t \t \t <outcomes> 
 
\t \t \t \t \t <decvar varname="SCORE" /> 
 
\t \t \t \t </outcomes> 
 
\t \t \t \t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE-34173cb38f07f89ddbebc2ac9128303f">Option0</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="Respondus_Correct">5</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> \t \t \t \t \t \t 
 
\t \t \t \t \t \t <varequal respident="RESPONSE-c16a5320fa475530d9583c34fd356ef5">Option1</varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="Respondus_Correct">5</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t \t \t \t \t \t \t \t </resprocessing> 
 
\t \t \t \t \t <itemfeedback ident="FEEDBACK"> 
 
\t \t \t \t <solution> 
 
\t \t \t \t \t <solutionmaterial> 
 
\t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t <mattext texttype="text/html">Optional Feedback</mattext> 
 
\t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t </solutionmaterial> 
 
\t \t \t \t </solution> 
 
\t \t \t </itemfeedback> 
 
\t \t \t \t </item> 
 

 

 
<!-- true or false question (aka multiple choice with two choices) --> 
 
\t \t <item title="True or False question" ident="ITEM_8"> 
 
\t \t \t <itemmetadata> 
 
\t \t \t \t <qtimetadata> 
 
\t \t \t \t \t <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_itemtype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>Logical Identifier</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
        <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>qmd_questiontype</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>True/false</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
        <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>cc_profile</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>cc.true_false.v0p1</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
        <qtimetadatafield> 
 
\t \t \t \t \t \t <fieldlabel>cc_weighting</fieldlabel> 
 
\t \t \t \t \t \t <fieldentry>5</fieldentry> 
 
\t \t \t \t \t </qtimetadatafield> 
 
\t \t \t \t </qtimetadata> 
 
\t \t \t </itemmetadata> 
 
\t \t \t <presentation> 
 
\t \t \t \t <flow> 
 
\t \t \t \t \t <material> 
 
\t \t \t \t \t \t <mattext texttype="text/html">true</mattext> 
 
\t \t \t \t \t </material> 
 
\t \t \t \t \t <response_lid ident="RESPONSE8" rcardinality="Single"> 
 
\t \t \t \t \t \t <render_choice shuffle="No"> 
 
\t \t \t \t \t \t \t <response_label ident="ChoiceT"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">True</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t \t <response_label ident="ChoiceF"> \t 
 
\t \t \t \t \t \t \t \t <flow_mat> 
 
\t \t \t \t \t \t \t \t \t <material> 
 
\t \t \t \t \t \t \t \t \t \t <mattext texttype="text/html">False</mattext> 
 
\t \t \t \t \t \t \t \t \t </material> 
 
\t \t \t \t \t \t \t \t </flow_mat> 
 
\t \t \t \t \t \t \t </response_label> 
 
\t \t \t \t \t \t </render_choice> 
 
\t \t \t \t \t </response_lid> 
 
\t \t \t \t </flow> 
 
\t \t \t </presentation> 
 
\t \t \t <resprocessing> 
 
\t \t \t \t <outcomes> 
 
\t \t \t \t \t <decvar varname="SCORE" /> 
 
\t \t \t \t </outcomes> 
 
\t \t \t \t <respcondition title="CorrectResponse"> 
 
\t \t \t \t \t <conditionvar> 
 
\t \t \t \t \t \t <varequal respident="RESPONSE8"> 
 
\t \t \t \t \t \t \t ChoiceT \t \t \t \t \t \t </varequal> 
 
\t \t \t \t \t </conditionvar> 
 
\t \t \t \t \t <setvar varname="que_score" action="Set">5</setvar> 
 
\t \t \t \t </respcondition> 
 
\t \t \t </resprocessing> 
 
\t \t \t \t </item> \t \t </section> 
 
\t </assessment> 
 
</questestinterop>

답변

1

이 문제는이 때문에 발생 , 변수배열을 유지하기위한은 빈 문자열로 시작됩니다.

PHP7은 매우 엄격한 변수 유형 유효성 검사를 사용합니다. PHP가 시작하기 전에 변수가 코드에서 다른 유형으로 취급 될 때 PHP는 자동으로 새 유형으로 변환합니다. PHP7에서는 변수가 코드 전체에서 초기화 된 유형으로 취급됩니다.이 경우 배열 값이 $question에 할당 된 결과가 각 배열 값의 첫 번째 문자 만 가져 와서 문자열을 구성하도록 잘립니다.