有一个类,它收集一些数据并呈现结果。
这是主要方法CollectExpress()为数字设置区域设置,收集数据,然后使用其他类方法绘制带有收集数据的模板。
public function CollectExpress() {
setlocale(LC_NUMERIC, 'C');
//collecting data
//...
echo $this->DrawExpress($collection);
}
public function DrawExpress($collection) {
ob_start();
ob_implicit_flush(false);
require $_SERVER['DOCUMENT_ROOT'] . '/content/express.php';
return ob_get_clean();
}
收集数据是一个关联数组。问题是模板express.php中集合的float元素从“。”更改了它们的分隔符。到“,”。
我已将收集数据转储添加到express.php
<?php
var_dump($collection);
?>
<div class="collection">
<!--template output-->
</div>
<?php
var_dump($collection);
?>
输出开始前的数据为“。”作为float delimeter,但是当输出开始时,它会切换到“,”。更改模板中的区域设置以及如何修复它的原因是什么?