php - 如何将 php 变量插入 javascript 对象/数组

标签 php javascript

<分区>

Possible Duplicate:
What is the safest way of passing arguments from server-side PHP to client-size JavaScript

目标:用php数据替换javascript对象中的静态文件名。

问题:

我不知道我的语法或逻辑是否正确,因为我没有收到任何 js 或 php 错误。最糟糕的是我的脚本没有给出预期的结果。您可以在以下位置查看实际页面 http://www.iamvishal.com/dev/property/burradon-road-burradon第197行

我想用 php 制作的 javascript 对象:

var data = { 'JPEG/1.jpg': { caption: '' }, 'JPEG/2.jpg': { caption: '' }, 'JPEG/3.jpg': 
{ caption: '' }, 'JPEG/4.jpg': { caption: '' },  'JPEG/5.jpg': { caption: '' },  
'JPEG/6.jpg': { caption: '' },
'JPEG/7.jpg': { caption: '' },  'JPEG/8.jpg': { caption: '' },};

所以我需要用 php 变量 $filename 替换 JPEG/1.JPG。下面是我的代码。

<script type="text/javascript">

var data = { ;


<?php
$queryglob ="JPEG/*".$node->field_ropertyid['und'][0]['value'].".jpg";
// Here I am getting all the file names as per my condition.

foreach (glob($queryglob) as $filename) {
// here I am want each file name to be assigned into the javascript object
?>

data = data+'+<?php print $filename ; ?> +':{caption:''}, ;
<?php

}
?>

data = data+};

</script>

最佳答案

为什么不使用 json_encode

<?php
 $data = array( );
 foreach (glob($queryglob) as $filename) $data[$filename] = array( 'caption' => '' );
?>
<script type="text/javascript">
 var data = <?php echo json_encode( $data ); ?>
</script>

这比构建字符串要聪明得多

关于php - 如何将 php 变量插入 javascript 对象/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8731794/

相关文章:

php - 使用 Php 从 MySQL 数据库获取 URL

php - 无法使用 Spring Boot 从 phpmyadmin SQL 获取数据

javascript - PHP MySQL 查询在实际提交的行之前插入 3 行(来自 w2ui 表)

javascript - 可以对继承建模吗?

php - 为 mysql 5.6 安装提供 shell 脚本在 Vagrant 中不起作用

php - 为 HLS 创建主播放列表

php - 从编码人员的角度来看,我应该选择哪种项目 python 而不是 php 因为两者都可以完成这项工作?

javascript - 在 JavaScript 中的 for 循环内重新分配变量的目的是什么?

javascript - 当使用 extern 并针对 JavaScript 时,如何强制 Haxe 编译器使用 require 语句?

javascript - Angular 2 ng-if失败