1

重複の可能性:
PHP ファイルへの配列の挿入

php ファイルに配列を挿入しようとしています。ただし、配列を php ファイルに挿入することはできますが、形式は希望どおりではありません。2 つのファイルがあります。

File1.php

    <?php
    include_once("../dc/dcCommonLib.php");
    include_once("../dc/persistence/UserData.php");
    require_once("../../lib/include/connect.inc.php");

    $_SESSION["survey"] = "BestBuyAug2012";
    $idLink = dbconnect($_SESSION["survey"]);
    $surveyWidget = rendererSurveyLoadHandler();
    setDataToSession("surveywidget",$surveyWidget);
    $userData = &UserData::getInstance();
    $userData->setSurvey($surveyWidget);
    saveFkidsToOidToFkidMappingArray($userData->OidToFkidMapping);

    // prepare demo array
    prepareItemArray($userData->OidToFkidMapping["Demographic"]["Q"],$demo,"b");

    // prepare item array
    prepareItemArray($userData->OidToFkidMapping["Default"]["Q"],$item,"i");
    prepareItemArray($userData->OidToFkidMapping["Default"]["M"],$item,"i");

    // prepare comment array
    prepareCommentArray($userData->OidToFkidMapping["Comment"]["C"],$comment);

    if(!function_exists('file_put_contents')) {
        function file_put_contents($filename, $data,$type, $file_append = false) {
          $fp = fopen($filename, (!$file_append ? 'w+' : 'a+'));
            if(!$fp) {
              trigger_error('file_put_contents cannot write in file.', E_USER_ERROR);
              return;
            }
        if($type){

        $count = count($data);
        $i = 1;
        //loop through your type array and append comma , to each except last
        foreach($data as $key=>$val) {

         //if we are before last key, append comma    
         if($i < $count)
              $data[$key] .= ',';

           $i++;
        }

        //run same preg_replace as before
        $data2 = preg_replace('/[\[\]]/','"',print_r($data,TRUE));

        //write to file 
        fputs($fp, "$" . $type . " = " . print_r($data2,TRUE));     

     }      else {
            fputs($fp, print_r($data, TRUE));
          }
          fclose($fp);
        }
    }
    print("Strart writting ...................");
    file_put_contents("staticSurveyDataFileTest.php", "<?php\n","",true);
    file_put_contents("staticSurveyDataFileTest.php", $item,"itemFkids",true);
    file_put_contents("staticSurveyDataFileTest.php", $demo,"demoFkids",true);
    file_put_contents("staticSurveyDataFileTest.php", $comment,"commentFkids",true);
    file_put_contents("staticSurveyDataFileTest.php", "?>","",true);
    print("written ...");

    function prepareItemArray($userDataArray, &$item, $itemStr) {
        if(is_array($userDataArray)) {
            foreach($userDataArray as $questId=>$respGrp) {
                $selectionGrp=array_unique($respGrp);
                if(count($selectionGrp)==1) {
                    $respGrpId=key($respGrp);
                    $respId = key($respGrp[$respGrpId]);
                    $item[$questId."_".key($respGrp)]=$itemStr.$respGrp[$respGrpId][$respId];           
                }else {
                    foreach ($respGrp as $respGrpId=>$resp) {
                        $respGrp[$respGrpId]=$itemStr.$resp;
                    }
                    $item[$questId."_".key($respGrp)]=$respGrp;
                }
            }
        }   
    }

function prepareCommentArray($userDataArray, &$item) {
    if(is_array($userDataArray)) {
        foreach($userDataArray as $questId=>$respGrp) {
            $selectionGrp=array_unique($respGrp);
            if(count($selectionGrp)==1) {
                $respGrpId=key($respGrp);               
                $item[$questId."_".key($respGrp)]=$respGrp[$respGrpId]["fk_id"];            
            }
        }
    }   
}

?>

このファイルの配列が staticSurveyDataFileTest.php に挿入されます

staticSurveyDataFileTest.php

    <?php
    $itemFkids = Array
    (
        "203_19" => i27,//double quotes missing for all the lines . See below for desired output//
        "207_22" => i28,
        "357_22" => i99,
        "370_70" => i104,
        "377_72" => i105,
        "140_8" => i1,
        "141_8" => i2,
        "142_8" => i3,
        "143_8" => i4,
        "144_8" => i5,
        "145_8" => i6,
        "151_8" => i7,
        "152_8" => i8,
        "158_8" => i9,
        "164_8" => i10,
        "165_8" => i11,
        "166_8" => i12,
        "167_8" => i13,
        "168_8" => i14,
        "169_8" => i15,
        "175_8" => i16,
        "176_8" => i17,
        "182_8" => i18,
        "183_8" => i19,
        "184_8" => i20,
        "190_8" => i21,
        "196_8" => i22,
        "197_8" => i23,
        "198_8" => i24,
        "199_8" => i25,
        "200_8" => i26,
        "214_8" => i29,
        "215_8" => i30,
        "216_8" => i31,
        "222_8" => i32,
        "223_8" => i33,
        "224_8" => i34,
        "225_8" => i35,
        "226_8" => i36,
        "227_8" => i37,
        "233_8" => i38,
        "234_8" => i39,
        "235_8" => i40,
        "236_8" => i41,
        "237_8" => i42,
        "243_8" => i43,
        "244_8" => i44,
        "245_8" => i45,
        "251_8" => i46,
        "252_8" => i47,
        "253_8" => i48,
        "254_8" => i49,
        "255_8" => i50,
        "256_8" => i51,
        "257_8" => i52,
        "263_8" => i53,
        "264_8" => i54,
        "265_8" => i55,
        "266_8" => i56,
        "267_8" => i57,
        "268_8" => i58,
        "269_8" => i59,
        "270_8" => i60,
        "271_8" => i61,
        "272_8" => i62,
        "278_8" => i63,
        "279_8" => i64,
        "280_8" => i65,
        "281_8" => i66,
        "282_8" => i67,
        "283_8" => i68,
        "289_8" => i69,
        "290_8" => i70,
        "296_8" => i71,
        "297_8" => i72,
        "298_8" => i73,
        "299_8" => i74,
        "300_8" => i75,
        "301_8" => i76,
        "307_8" => i77,
        "308_8" => i78,
        "309_8" => i79,
        "310_8" => i80,
        "311_8" => i81,
        "312_8" => i82,
        "313_8" => i83,
        "314_8" => i84,
        "315_8" => i85,
        "316_8" => i86,
        "317_8" => i87,
        "318_8" => i88,
        "324_26" => i89,
        "328_37" => i90,
        "332_48" => i91,
        "338_59" => i92,
        "344_59" => i93,
        "345_59" => i94,
        "351_8" => i95,
        "352_8" => i96,
        "353_8" => i97,
        "354_8" => i98,
        "364_8" => i100,
        "365_8" => i101,
        "366_8" => i102,
        "367_8" => i103 
    )//comma missing
    $demoFkids = Array
    (
        "129_2" => b1
    )//comma missing
    $commentFkids = Array
    (
        "373_375" => 1,
        "380_382" => 2
    )//comma missing
    ?>

We need to insert a file something like this

Desired Output

    <?php
        $itemFkids = Array
        (
            "203_19" => "i27",//notices the double quotes here
            "207_22" => "i28",
            "357_22" => "i99",
            .
            .
            .

            .
            .
    .

        ),//notice a comma here
        $demoFkids = Array
        (
            "129_2" => "b1"//notices the double quotes here
        ),//notice a comma here
        $commentFkids = Array
        (
            "373_375" => "1",
            "380_382" => "2"//notices the double quotes here
        ),//notice a comma here
        ?>

同じコードを編集するか、編集するのを手伝ってください 事前に助けてくれてありがとう:)

4

0 に答える 0