PHP返回javascript与PHP变量


PHP echo javascript with PHP variable

我现在通过PHP echo:

显示javascript
        echo 'var currentInvoiceDataJSON = <?php echo json_encode($yearData_Invoices[$currentYear] ); ?>;';

然而,我得到一个Uncaught SyntaxError: Unexpected token <我推断这个错误与第二个错误有关>

我怎样才能解决这个问题,还有其他的可能性吗?

该代码以无效Javascript代码结束。

结果如下:

您的服务器回显字符串:

echo 'var currentInvoiceDataJSON = <?php echo json_encode($yearData_Invoices[$currentYear] ); ?>;';

你的浏览器现在有:

var currentInvoiceDataJSON = <?php echo json_encode($yearData_Invoices[$currentYear] ); ?>;

一旦PHP脚本完成运行并回显第一个字符串,PHP就不能处理内部回显。


我会怎么做:

$data = json_encode($yearData_Invoices[$currentYear]);
echo 'var currentInvoiceDataJSON = ' . $data . ';';

改为:

echo 'var currentInvoiceDataJSON = '.<?php echo json_encode($yearData_Invoices[$currentYear] ); ?>.';';

我还没有测试过这个,但给它一个尝试:

echo "var currentInvoiceDataJSON = '".str_replace("'","'''",json_encode($yearData_Invoices[$currentYear]))."';";

直接改成

echo "var currentInvoiceDataJSON = ".json_encode($yearData_Invoices[$currentYear] ).";";
还要注意PHP中的单引号字符串不会插入变量,所以
$a = "Hello World";
echo '$a'; // outputs :  $a
echo "$a"; // outputs :  Hello World