我的文件看起来像这样。我需要通过file_put_contents
附加一些新的数组键。
<?php
$translation = array(
'Wyposażenie' => 'Equipment',
);
?>
我不知道该怎么做。我所知道的只是我必须使用file_put_contents($file, "'test' => 'new value',", FILE_APPEND | LOCK_EX);
,但它会在文件末尾添加新信息。如何在最后一个数组键之后追加我的新信息。为了得到这个:
<?php
$translation = array(
'Wyposażenie' => 'Equipment',
'test' => 'new value',
);
?>
答案 0 :(得分:2)
正如其他人在评论中所提到的,这可以通过更好的方式使用json来完成,但就这种情况而言,这里是你可以做到的:
<?php
$read = file_get_contents("i.txt");
$delete = strrpos($read,");",-1);
$read = substr($read,0,$delete);
$new_value = "'test' => 'new value',";
$read .= "\r\n\$new_value \r\n);\r\n ?>";
file_put_contents('i.txt',$read);
?>
答案 1 :(得分:1)
我很无聊。这不会覆盖存在的密钥。要覆盖,请反转array_merge()
:
function add_to_trans($file, $array) {
include($file);
$result = array_merge($translation, $array);
file_put_contents($file, '$translation = ' . var_export($result, true));
}
$new_trans = array('test' => 'new value');
add_to_trans('path/to/file.php', $new_trans);
但是你应该重新考虑这个并在文件中保存一个json_encode()
数组并将其读回来。
答案 2 :(得分:0)
我是自己写的。这是我的代码:
<div>
<canvas id="canvas_bar" height="250", width = "300" ></canvas>
</div>
<script>
var barChartData = {
labels : [56, 60, 78, 90],
datasets : [
{ fillColor : "rgba(139,0,0,0.5)",
strokeColor : "rgba(220,220,220,0.8)",
data : [20.0, 0, 0, 50] },
{ fillColor : "rgba(1,187,205,0.5)",
strokeColor : "rgba(151,187,205,0.8)",
data : [0, 0.0, 40.0, 10] }
]
}
window.onload = function(){
var ctx = document.getElementById("canvas_bar").getContext("2d");
window.myBar = new Chart(ctx).Bar(barChartData, {
animation: false,
responsive : false,
barValueSpacing : 15,
scaleShowVerticalLines: false,
});
}
</script>