将 JSON 数据中的数字修剪为 PHP


Trim number in JSON data to PHP

我正在尝试将字符串中的数字存储在:http://driftsdata.statnett.no//snpsrestapi/PowerData/PowerOverview/se?callback=Production.UpdateData

到我的数据库,因为这些每小时都会变化。

但是,preg_replace和str_replace对我不起作用,因为它只打印出"22"而不是"22 340",因为它在网站上。

这是我的代码:

for($i=0; $i<6; $i++) {
    $info = get_data($countries[$i], $text);
    for($j=0; $j<8; $j++) {
        $info[$j] = preg_replace('/'s+/', '', $info[$j]);
$info[$j] = (int)$info[$j];

有什么帮助吗?

由于您正在处理 json 格式,因此最干净和最安全的方法是使用 json_decode()

<pre>
<?php
$jsontext = preg_replace('~^[^(]*+'(|')$~', '', $text);
$json = json_decode($jsontext);
foreach($json->production as $prod) {
    printf("<br/><strong>%s</strong><br/>%s't%s't%s't%s't%s",
        $prod->type, $prod->se, $prod->dk, $prod->no, $prod->fi, $prod->ee);
    $result[$prod->type] = preg_replace('~[ -]~', '',
        array($prod->se, $prod->dk, $prod->no, $prod->fi, $prod->ee));
}
echo '<br/>' . print_r($result, true);
?>
</pre>