对象中的JavaScript变量[重复]

This question already has an answer here:

I am pulling some data from my database and turning it into an array which is perfect. I need to insert those into an object:

data: {
    labels: ["Red", "Remaining"],
    datasets: [{
        data: [90, 10], <-- here
        backgroundColor: [
            'rgba(255, 99, 132, 1)'
        ],
        borderWidth: 1
    }]

I am getting the data like so...

<?php
$sql = 'SELECT COUNT(*) category FROM users GROUP BY category';
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
  while($row = mysqli_fetch_assoc($result)) {

      $categoriesTest[] =  $row["category"];

  }

}

?>

And turning it into a JavaScript variable like:

var dataString="<?php echo rtrim(implode(', ', $categoriesTest), ',');  ?>";

And here is the full code, bascially they will be the values for a chart.js chart.

<?php
$sql = 'SELECT COUNT(*) category FROM users GROUP BY category';
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
  while($row = mysqli_fetch_assoc($result)) {

      $categoriesTest[] =  $row["category"];

  }

}

?>

<script>

var dataString="<?php echo rtrim(implode(', ', $categoriesTest), ',');  ?>";

document.write(dataString);

var ctx = document.getElementById("myChart");

var myChart = new Chart(ctx, {
    type: 'doughnut',
    animation:{
        animateScale:true
    },

    options: {
         legend: {
            display: false
         },
         tooltips: {
            enabled: false
         }
    },

    data: {
        labels: ["Red", "Remaining"],
        datasets: [{
            data: [90, 10],
            backgroundColor: [
                'rgba(255, 99, 132, 1)'
            ],
            borderWidth: 1
        }]
    }

});
</script>

** Update **

var dataString="<?php echo rtrim(implode($categoriesTest), ',');  ?>";

var dataObject = JSON.parse(dataString);

document.write(dataString);

var ctx = document.getElementById("myChart");

var myChart = new Chart(ctx, {
    type: 'doughnut',
    animation:{
        animateScale:true
    },

    options: {
         legend: {
            display: false
         },
         tooltips: {
            enabled: false
         }
    },

    data: {
        labels: ["Red", "Remaining"],
        datasets: [{
            data: dataObject.categories,
            backgroundColor: [
                'rgba(255, 99, 132, 1)'
            ],
            borderWidth: 1
        }]
    }

});
</div>

json_encode function is good for that. Any php array you can transfer to json and then echo in the js.

var dataString="<?php echo json_encode($categoriesTest);  ?>";