如果有一个明显的答案(我已经尝试过所有我能想到的事情),那么请原谅我。
我有一个像这样的javascript变量设置:
var imageURL = <?php echo json_encode($imageRows[0]['URL_Path']); ?>;
其中$ imageRows [0]可以是从0到任何值的整数。
我还有另一个变量:
var count = 15
我需要将计数传递给imageURL变量......可以这样做吗?
我猜到了类似的事情: var imageURL = <?php echo json_encode($imageRows['count']['URL_Path']); ?>;
var imageURL = <?php echo json_encode($imageRows[(count)]['URL_Path']); ?>;
等但是没有工作。
由于
编辑: Mike Brant回答。
由于
答案 0 :(得分:2)
我现在更了解你的问题。看起来你正试图让PHP响应你的Javascript中的变量并回显输出。您可以将计数放入查询字符串(http://server/yourpage.php?count=15
),然后将count
变量放入您的php中,如下所示:$_GET['count']
编辑:从您的评论中看起来您实际上已将此计数作为PHP变量(从MYSQL返回)。您的困难可能来自PHP对字符串插值的解释。它在[]
之后看到$imageRows
作为PHP表达式的一部分,并且您似乎想要将count作为javascript变量传递。如果您已经拥有$imageRows[$count]
PHP变量,则可以$count
。如果您必须将其作为javascript变量,则可以执行var count = <?php echo $count?>;
,然后回显所有{$imageRows}
的JSON,并使用count
在javascript中进行访问。
(以前:为什么不能只使用$count
?)
答案 1 :(得分:1)
不是你想到它的方式,但你可以在页面加载时总是执行一个AJAX请求,这将允许你将两个变量作为标准请求参数传递给PHP(或任何Web服务器)。
请参阅jQuery#ajax作为示例。
$.ajax({
url: 'example.php',
data: {
count: count
},
success: function(data) {
// Do something with the data
}
});
上面是一个非常粗略的例子。
答案 2 :(得分:1)
为什么不只是json_encode()
整个$imageRows
变量。然后你可以在javascript中免费访问它。像这样:
var image_urls = <?php echo json_encode($imageRows); ?>;
var count = 15;
var the_url_you_want = image_urls[count]['URL_PATH'];
答案 3 :(得分:0)
(编辑,因为你改变了问题,以便我更好地理解它)
PHP无法在浏览器端读取JavaScript变量的值,您必须将其作为POST变量或cookie传递给页面。