我想插入一個數組到一個PHP文件。不過,我可以將數組插入到php文件中,但格式不符合要求。我們有2個文件插入一個數組到一個新的PHP文件
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
"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
?>
我們需要插入一個像這樣的文件
Desired Outp ut
<?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
?>
我曾嘗試在谷歌和其他php網站上搜索,但沒有找到太多關於此。 所以我會很感激,如果你可以編輯我的代碼,並使這項工作。 預先感謝您:)
鑑於數據的嚴格和有限格式,您可以通過在右花括號上進行字符串替換來輕鬆完成此操作。 – 2012-07-17 06:05:22
@BillyMoon你好比利。你能告訴我一行代碼 – jat 2012-07-17 06:21:12
你打算如何從你的文件中檢索數據?在你的任何一個例子中,它都不是有效的php,因爲每個聲明的數組都應該以分號';'結尾; – Crisp 2012-07-17 07:20:12