Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP字符串数组作为JSON传递给JavaScript数组不起作用?_Javascript_Php_Arrays_Json - Fatal编程技术网

将PHP字符串数组作为JSON传递给JavaScript数组不起作用?

将PHP字符串数组作为JSON传递给JavaScript数组不起作用?,javascript,php,arrays,json,Javascript,Php,Arrays,Json,我正在尝试将数组从PHP转换为JavaScript,但它似乎不起作用。这是我的PHP代码query.PHP: $query = 'SELECT coupon FROM '.$disc; $coupdb = array(); $results = $newdb->get_results($query); foreach( $results as $result ) $coupdb[] = $result->coupon; echo $coupdb[0]; //This shows p

我正在尝试将数组从PHP转换为JavaScript,但它似乎不起作用。这是我的PHP代码
query.PHP

$query = 'SELECT coupon FROM '.$disc;
$coupdb = array();
$results = $newdb->get_results($query);
foreach( $results as $result )
$coupdb[] = $result->coupon;

echo $coupdb[0]; //This shows perfectly the content but I want to send this array to a Javascript file.
我也尝试过使用JSON:

$coupdb_js = json_encode($coupdb);
var coupdb = <?php echo $coupdb_js ?>;
alert(coupdb[0]);
这是我的JavaScript文件
discount.js

var coupdb = <?php echo $coupdb ?>;
alert(coupdb[0]);
var-coupdb=;
警报(coupdb[0]);
使用JSON:

$coupdb_js = json_encode($coupdb);
var coupdb = <?php echo $coupdb_js ?>;
alert(coupdb[0]);
var-coupdb=;
警报(coupdb[0]);

@Jon给我看了一个“意想不到的标记
最后我找到了一个方法,这是一个简单的方法,但可能不是最好的:)

在我的php中,我将从bbdd捕获的coupdb变量发送到javascript文件:

<?php
$DB_USER="dbuser";
$DB_PASSWORD="passdb";
$DB_NAME="dbname";
$DB_HOST="dbhost";

$newdb = new wpdb($DB_USER, $DB_PASSWORD, $DB_NAME, $DB_HOST);
$disc="discounts";


$query = 'SELECT coupon FROM '.$disc;
        $coupdb = array();
        $results = $newdb->get_results($query);
        foreach( $results as $result )
        $coupdb[] = $result->coupon;

?>
<script type="text/javascript">
    var coupdb = <?php echo json_encode($coupdb); ?>;
</script>

var-coupdb=;
。你看了生成的JS了吗?很明显,
var-coupdb=Array;
是不正确的。是的,你实际上没有对任何东西进行json编码。它只是试图将其转换为字符串,但不起作用。而且你也没有尝试对其进行json解码。对不起,我正在编辑这个问题。@Markasoftware$newdbs我的Wordpress外部数据库连接。查询正在运行,我可以使用以下命令显示数组:echo$coupdb[0];或echo$coupdb[1];警报(coupdb)的结果是什么
?您收到警报对话框了吗?它说了什么?另外,您正在用web服务器测试它吗?您确定它以PHP脚本的形式运行您的
.js
-文件吗?这可能是的副本。您完全正确,这是在一个.js文件中,无法识别PHP标记。@user3321425您的代码和示例很难从我们这边调试。您是alize您通过web服务器将PHP文件作为URL加载,然后在jQuery中使用类似ParseJSON的东西进行解码?很抱歉@JakeGould很难理解,因为有很多代码要粘贴。但是简历是我已经证明通过$coupdb[]对于一个包含json和不包含json的.js文件,结果都很糟糕。似乎php标记的解释有问题。如果我使用标记,那么标记也有问题。我将阅读更多关于Wordpress javascript标准的内容。非常感谢。