Insertion of an array into a new php file

匿名 (未验证) 提交于 2019-12-03 09:14:57

问题:

I am trying to insert an array into a php file . However I am able to insert the array into a php file but the format is not as desired . We have 2 files

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"];                         }         }     }    }  ?> 

The array from this file is inserted into another file by name staticSurveyDataFileTest.php

staticSurveyDataFileTest.php

<?php $itemFkids = Array (     "203_19" => i27,//double quotes missing       "207_22" => i28,//double quotes missing      "357_22" => i99,//double quotes missing      "370_70" => i104,//double quotes missing     "377_72" => i105,//double quotes missing      "140_8" => i1,//double quotes missing      "141_8" => i2,//double quotes missing      "142_8" => i3,//double quotes missing      "143_8" => i4,//double quotes missing      "144_8" => i5,//double quotes missing      "145_8" => i6,//double quotes missing      "151_8" => i7,//double quotes missing      "152_8" => i8,//double quotes missing      "158_8" => i9,//double quotes missing      "164_8" => i10,//double quotes missing      "165_8" => i11,//double quotes missing      "166_8" => i12,//double quotes missing      "167_8" => i13,//double quotes missing      "168_8" => i14,//double quotes missing      "169_8" => i15,//double quotes missing      "175_8" => i16,//double quotes missing      "176_8" => i17,//double quotes missing      "182_8" => i18,//double quotes missing      "183_8" => i19,//double quotes missing      "184_8" => i20,//double quotes missing      "190_8" => i21,//double quotes missing      "196_8" => i22,//double quotes missing      "197_8" => i23,//double quotes missing      "198_8" => i24,//double quotes missing      "199_8" => i25,//double quotes missing      "200_8" => i26,//double quotes missing      "214_8" => i29,//double quotes missing      "215_8" => i30,//double quotes missing      "216_8" => i31,//double quotes missing      "222_8" => i32,//double quotes missing      "223_8" => i33,//double quotes missing      "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//double quotes missing  )//comma missing $commentFkids = Array (     "373_375" => 1,//double quotes missing      "380_382" => 2//double quotes missing  )//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     ?> 

I did try to search in google and other php websites but did not find much about this . So I would really appreciate IF YOU CAN EDIT MY CODE and make this work . Thank you in advance :)

回答1:

You should use a database, in my opinion.
At any rate I think a foreach would work if a better solution is not found.

Example:

$second_array = array();  foreach($first_array as $key => $value){     $second_array[$key]='&quot;'.$value.'&quot;'; } 

This is assuming the quotes are for html display.



回答2:

Check out serialisation. It's a different approach from what you're doing, but a lot cleaner. Simply, it's a way to take a PHP object, turn it into a string (which can be saved, read, etc.) and deserialisation will convert it back to the way it was.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!