我需要将PHP数组中的值传输到JavaScript数组中,以便可以在我的应用程序中使用它,我已经设法达到这个目的:
var Descriptions = array(<?php
foreach ($tasks as $task) {
$ID = $task['ID'];
$description = $task['description'];
echo $ID . "[" . $description . "]" . ",";
}
?>);
它的工作正常除了一件事:我不知道如何告诉PHP在最后一个数组值之后没有放一个逗号。额外的逗号导致语法错误,因此它会破坏我的代码。
提前感谢任何想法, 雷光
答案 0 :(得分:2)
快速而肮脏的方式:
for($i = 0, $c = count($tasks); $i < $c; $i++) {
$task = $tasks[$i];
...
echo $ID . "[" . $description . "]" . (($i != $c-1) ? "," : '');
}
显然还有其他方法可以实现这一点,一种方法是建立一个字符串,然后使用trim()
函数:
$tasks_str = '';
foreach(...) {
...
$tasks_str .= ...
}
echo trim($tasks_str, ',');
或者,(我最喜欢的),您可以构建一个数组,然后在其上使用implode
:
$tasks_array = array();
foreach(...) {
...
$tasks_array[] = ...
}
echo implode(',', $tasks_array);
答案 1 :(得分:1)
不要尝试手动构建它,使用json_encode
答案 2 :(得分:1)
var Descriptions = <?=json_encode($tasks);?>;
答案 3 :(得分:0)
var DescriptionsString = <?php
foreach ($tasks as $task) {
$ID = $task['ID'];
$description = $task['description'];
echo $ID . "[" . $description . "]" . ",";
}
?>;
var Descriptions = DescriptionsString.split(',');
答案 4 :(得分:0)
试,
var Descriptions = array(<?php
$str = '';
foreach ($tasks as $task) {
$ID = $task['ID'];
$description = $task['description'];
$str .= $ID . "[" . $description . "]" . ",";
}
echo trim($str,',');
?>);
答案 5 :(得分:0)
不容错过任何趋势:
$out = array();
foreach ($tasks as $task) {
$ID = $task['ID'];
$description = $task['description'];
$out[] = $ID . "[" . $description . "]";
}
echo implode(',', $out);
使用implode()
。