PHP foreach循环

PHP foreach循环,php,javascript,Php,Javascript,我需要将PHP数组中的值传输到JavaScript数组中,以便在我的应用程序中使用,我已设法做到这一点: var Descriptions = array(<?php foreach ($tasks as $task) { $ID = $task['ID']; $description = $task['description']; echo $ID . "[

我需要将PHP数组中的值传输到JavaScript数组中,以便在我的应用程序中使用,我已设法做到这一点:

var Descriptions = array(<?php 
                foreach ($tasks as $task) {
                $ID = $task['ID'];
                $description = $task['description'];

                echo $ID . "[" . $description . "]" . ",";  
                }

                ?>);
var Descriptions=array();
它工作得很好,除了一件事:我不知道如何告诉PHP不要在最后一个数组值后面加逗号。额外的逗号导致语法错误,因此会中断代码

提前感谢您的建议,
瑞光

快速肮脏的方式:

for($i = 0, $c = count($tasks); $i < $c; $i++) {
   $task = $tasks[$i];
   ...
   echo $ID . "[" . $description . "]" . (($i != $c-1) ? "," : ''); 
}
或者,(我的最爱),您可以构建一个数组,然后在其上使用
内爆

$tasks_array = array();
foreach(...) {
   ...
   $tasks_array[] = ...
}

echo implode(',', $tasks_array);

快速和肮脏的方式:

for($i = 0, $c = count($tasks); $i < $c; $i++) {
   $task = $tasks[$i];
   ...
   echo $ID . "[" . $description . "]" . (($i != $c-1) ? "," : ''); 
}
或者,(我的最爱),您可以构建一个数组,然后在其上使用
内爆

$tasks_array = array();
foreach(...) {
   ...
   $tasks_array[] = ...
}

echo implode(',', $tasks_array);
var descriptionstring=;
var Descriptions=descriptionString.split(',');
变量描述字符串=;
var Descriptions=descriptionString.split(',');
试试看

var Descriptions=array();
试试看

var Descriptions=array();

不要尝试手动构建,使用json_encode

不要尝试手动构建,使用json_encode

不要错过趋势:

$out = array();
foreach ($tasks as $task) {
    $ID = $task['ID'];
    $description = $task['description'];

    $out[] = $ID . "[" . $description . "]";  
}
echo implode(',', $out);

使用。

不要错过趋势:

$out = array();
foreach ($tasks as $task) {
    $ID = $task['ID'];
    $description = $task['description'];

    $out[] = $ID . "[" . $description . "]";  
}
echo implode(',', $out);
使用。

var Descriptions=;
var Descriptions=;

谢谢,这是个好主意,我以后会试试。我不明白你为什么要用其他方法?谢谢,这是个好主意,我以后会试试。我不明白你为什么要用其他方法?正如我说的-这很危险,在将$ID和$description变量输出到JavaScript块之前,需要确保转义这些变量中的某些字符。json_encode已经为您做到了这一点。正如我所说的-这很危险,您需要确保在将$ID和$description变量输出到JavaScript块之前转义它们。json_encode已经为您完成了这项工作。
var Descriptions = <?=json_encode($tasks);?>;