JavaScript - 从PHP中提取多个变量

I have the following PHP code. It creates multiple variables using $a; for example: $numtoken1.

$sql ="SELECT token, dispositivo FROM dispositivos WHERE idcliente=1";
mysql_select_db('localiza');
$retval = mysql_query( $sql, $conn );
$num_rows = mysql_num_rows($retval);

while($row = mysql_fetch_array($retval, MYSQL_BOTH))
{
    $numtoken['$a']=$row['token'];
    $numdispositivo['$a']=$row['dispositivo'];
    $a=$a++;
}   

Using JavaScript, I want to call all the PHP variables using that code, but it only get the last $a number.

My question is: In a JavaScript loop, how can I dynamically insert the value for $a? Because in the above PHP, I have multiple values for $a.

var accessToken = "<?= $numtoken['$a']; ?>"a;
var deviceID = "<?= $numdispositivo['$a']; ?>";

I suggest JSON:

    var accesstoken = JSON.parse("<?= json_encode($numtoken); ?>");
    var deviceID = JSON.parse("<?= json_encode($numdispositivo); ?>");


So the first thing I noticed when looking at this is that you are wrapping $a in single quotes (') instead of double quotes (") this means that instead of evaluating $a the key in the array will be the string "$a", so you'll be overwriting the value in each iteration of the while loop. See - http://php.net/manual/en/language.types.string.php#language.types.string.parsing for more info.

That being said the actual answer to your question varies, but the simplest method might be to use the json_encode function to convert your arrays into json objects.

var accessTokenArr = <?php print json_encode($numtoken); ?>
var deviceIdArr = <?php print json_encode($numdispositivo); ?>

Then you can iterate over the values in those arrays and do whatever you want to with the values. Fair warning - you may need to tweak that code a little as I haven't tested it to make sure it plays nicely.