Javascript 从php文件中去除空白
我有一个输出json的php文件Javascript 从php文件中去除空白,javascript,php,regex,json,whitespace,Javascript,Php,Regex,Json,Whitespace,我有一个输出json的php文件 <?php header('Content-Type: application/json'); ?> var data = { "cars": [ <?php foreach ($runshowcars as $rowscar):;?> { "id":"<?php echo $rowscar['id'] ?>", "name":"<?
<?php
header('Content-Type: application/json');
?>
var data = {
"cars": [
<?php foreach ($runshowcars as $rowscar):;?>
{
"id":"<?php echo $rowscar['id'] ?>",
"name":"<?php echo $rowscar['name'] ?>"
}
],
"boats": [
<?php foreach ($runshowboats as $rowsboat):;?>
{
"id":"<?php echo $rowsboat['id'] ?>",
"name":"<?php echo $rowsboat['name'] ?>"
}
],
};
我希望它看起来像这样
var data = {
"cars": [
{
"id":"1",
"name":"Ford"
}
,{
"id":"2",
"name":"Honda"
}
]
};
var data = {"cars": [{"id":"1","name":"Ford"},{"id":"2","name":"Honda"}]};
我发现要做到这一点的唯一方法是从我的php文件中删除空白,这显然不是一个理想的解决方案,因为它使维护变得非常困难
你怎么能去掉这里所有的空白
我见过很多这样的问题,但是我不能在这里使用这样的东西,因为我的数据不在变量中?只需创建一个多维关联数组并使用为什么不将数据收集到数组中并将其编码为json 像这样:
$data=array('cars'=>$runshowcars, 'boats'=>$runshowboats);
print json_encode($data);
否则返回javascript,而不是json。至少如果您在结果前面加上var data=part。您可以像这样删除外部的所有内容:
<?php
header('...') ;
echo 'var data = {' ;
echo '"cars": [' ;
foreach ($runshowcars as $rowscar)
{
echo '{' ;
echo '"id":"'.$rowscar['id']?'",' ;
echo '"name":"'.$rowscar['name'] ;
echo '}' ;
}
echo '],' ;
...
?>
或者您可以尝试使用json_encode php函数,这可能是更好的方法:
<?php
$data = Array('cars'=>$runshowcars,'boats'=>$runshowboats) ;
echo 'var data = '.json_encode($data) ;
?>
但是您在PHP标记之外显式地声明空白…您的代码目前甚至没有生成该输出,因为它缺少car元素之间的逗号。