仅从数字JS中去掉双qoutes


Strip double qoutes only from the numbers JS

我有以下对象:

[["Jan","0"],["Feb","0"],["Mar","0"],["Apr","0"],["May","0"],["Jun","0"],["Jul","0"],["Aug","86"],["Sep","211"],["Oct","223"],["Nov","147"],["Dec","149"]]

我需要它看起来像:

[["Jan",0],["Feb",0],["Mar",0],["Apr",0],["May",0],["Jun",0],["Jul",0],["Aug",86],["Sep","211],["Oct",223],["Nov",147],["Dec",149]]

我通过PHP json_encode($var)生成它;我如何通过Javascript中的Regex删除仅围绕数字的qoute?

PHP

function specialtest()
{
    $data = [];
    $year = 2015;
    for ($i = 1; $i <= 12; $i++) {
        $sql = 'SELECT count(*) as count FROM reservations WHERE YEAR(start) = ' . $year . ' AND MONTH(start)=' . $i;
        $query = $this->db->query($sql);
        $results = $query->result_array();
        $data[] = [date('M', strtotime($year . '-' . $i . '-01')), $results[0]['count']];
    }
    echo json_encode($data);
}

您可以修复您的线路:

$data[] = [date('M', strtotime($year . '-' . $i . '-01')), $results[0]['count']];

至:

$data[] = [date('M', strtotime($year . '-' . $i . '-01')), (int) $results[0]['count']];

这应该能奏效。

主题中更多的内容是在你的jsonized字符串上运行,比如

preg_replace('/'"('d)'"/', ''1', json_encode(array('a' => '1')))