将数组从PHP文件传递到JS文件

时间:2012-09-09 12:43:25

标签: php javascript html arrays

我想将我的PHP文件中的数组传递给另一个用java脚本编写的文件。 这是我的阵列:

$pictures = array(
"1" => array("caption" => "1920x1200px", "tag" => "wallpaper", "link" => "#"),
);

在我的java脚本文件中,这是我想要调用数组的地方: (在我写入TAG,LINK和CAPTION代码的地方。 Sry如果这是一个愚蠢的问题,但正如你所看到的,我不知道PHP和java脚本)

F.helpers.title = {
    beforeShow: function (opts) {
        var text = F.current.title,
            type = opts.type,
            title,
            target;

        if (!isString(text) || $.trim(text) === '') {
            return;
        }

        title = $('<div class="fancybox-title fancybox-title-' + type + '-wrap"><h1>' + text + '</h1><p>CAPTION</p></div><div class="fancybox-title fancydownload" ><a href="LINK"><img src="../../../slider/img/download.png" alt=""/></a></div><div class="fancybox-title fancytag"><h2>TAG</h2></div>');

        switch (type) {
            case 'inside':
                target = F.skin;
            break;

            case 'outside':
                target = F.wrap;
            break;

            case 'over':
                target = F.inner;
            break;

            default: // 'float'
                target = F.skin;

                title
                    .appendTo('body')
                    .width(title.width()) //This helps for some browsers
                    .wrapInner('<span class="child"></span>');

                    //Increase bottom margin so this title will also fit into viewport
                    F.current.margin[2] += Math.abs(     getScalar(title.css('margin-bottom')) );
            break;
        }

        if (opts.position === 'top') {
            title.prependTo(target);

        } else {
            title.appendTo(target);
        }
    }
};

5 个答案:

答案 0 :(得分:0)

使用JSON尝试。有很多可用的JSON解析器

答案 1 :(得分:0)

将其编码为JSON以将其转换为JavaScript文字,然后正常访问结果值。

var data = <?php echo json_encode(array('foo' => 'bar')); ?>;
console.log(data['foo']);

答案 2 :(得分:0)

PHP脚本的生命周期(在服务器端)与JS的生命周期不同(在客户端)。如果要将某些信息从PHP传递到客户端,可以执行以下操作之一:

  1. 您应该使用模板引擎将此信息打印到服务器端的HTML文件中。
  2. 您应该通过另一个API将此信息转换为JSON格式,并在javascript端轻松浏览,并使用AJAX调用您的API。

答案 3 :(得分:0)

使用ajax调用,比如$ .post,将数组作为json数组, 在PHP脚本的末尾添加echo json_encode($picture)

答案 4 :(得分:0)

PHP只会生成您发送给客户端的文件。 JavaScript在客户端执行。所以你应该在php中生成像

这样的东西
var pictures = {'1': {caption: '1920x1200px', tag: 'wallpaper', link: '#'}};

并将其放在脚本标记中的html中。例如。

作为一种变体,您可以这样做:

var pictures = <?= json_encode($pictures); ?>;