PHP数组()的JavaScript阵列() [英] PHP array() to javascript array()

查看:122
本文介绍了PHP数组()的JavaScript阵列()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想一个PHP数组转换为jQuery的的DateTimePicker JavaScript数组禁用某些日期。但我似乎无法在互联网上找到正确的答案。我使用Zend框架为我的项目。

 < PHP
            $ ConvertDateBack = Zend_Controller_Action_HelperBroker :: getStaticHelper('ConvertDate');
            $ disabledDaysRange =阵列();
            的foreach($这个 - > reservedDates为$日期){
                 $日期= $ ConvertDateBack-> ConvertDateBack($ dates-> reservation_date);
                 $ disabledDaysRange [] = $日期;
            }
?>
<脚本>
VAR disabledDaysRange = $ disabledDaysRange ????请帮忙;
$(函数(){
    功能disableRangeOfDays(D){
        对于(VAR I = 0; I< disabledDaysRange.length;我++){
            如果($。IsArray的(disabledDaysRange [I])){
                对于(VAR J = 0; J< disabledDaysRange [I]。长度; J ++){
                    变种R = disabledDaysRange [I] [J] .split(到);
                    ř[0] = R [0] .split( - );
                    ř[1] = R [1] .split( - );
                    如果(新日期(R [0] [2],(R [0] [0] -1)中,r [0] [1])&下; = D&放大器;和D&下; =新日期(R [ 1] [2],(R [1] [0] -1)中,r [1] [1])){
                        返回[虚假]
                    }
                }
            }其他{
                如果(((d.getMonth()+ 1)+' - '+ d.getDate()+' - '+ d.getFullYear())== disabledDaysRange [I]){
                    返回[虚假]
                }
            }
        }
        返回[真]
    }
    $('#日期)。日期选择器({
        DATEFORMAT:'DD / MM / YY',
        beforeShowDay:disableRangeOfDays
        });
});
< / SCRIPT>


解决方案

要PHP数组转换你JS,你可以做这样的:

  VAR js_array = [<?PHP的回声'.implode(',',$ disabledDaysRange)。''>]

或使用JSON_EN code:

  VAR js_array =<?PHP的回声json_en code($ disabledDaysRange);取代;

示例不JSON_EN code:

 <脚本类型=文/ JavaScript的'>
    < PHP
    $ php_array =阵列('ABC','高清','GHI');
    ?>
    变种js_array =并[d?PHP的回声'.implode(',',$ php_array)''>];
    警报(js_array [0]);
< / SCRIPT>

示例与JSON_EN code:

 <脚本类型=文/ JavaScript的'>
    < PHP
    $ php_array =阵列('ABC','高清','GHI');
    ?>
    VAR js_array =<?PHP的回声json_en code($ disabledDaysRange);取代;
    警报(js_array [0]);
< / SCRIPT>

I'm trying to convert a PHP array to a javascript array for jQuery's datetimepicker to disable some dates. But I can't seem to find the right answer on the internet. I'm using Zend Framework for my project.

<?php 
            $ConvertDateBack = Zend_Controller_Action_HelperBroker::getStaticHelper('ConvertDate');
            $disabledDaysRange = array();
            foreach($this->reservedDates as $dates) {
                 $date = $ConvertDateBack->ConvertDateBack($dates->reservation_date);
                 $disabledDaysRange[] = $date;
            }
?>
<script>
var disabledDaysRange = $disabledDaysRange ???? Please Help;
$(function() {
    function disableRangeOfDays(d) {
        for(var i = 0; i < disabledDaysRange.length; i++) {
            if($.isArray(disabledDaysRange[i])) {
                for(var j = 0; j < disabledDaysRange[i].length; j++) {
                    var r = disabledDaysRange[i][j].split(" to ");
                    r[0] = r[0].split("-");
                    r[1] = r[1].split("-");
                    if(new Date(r[0][2], (r[0][0]-1), r[0][1]) <= d && d <= new Date(r[1][2], (r[1][0]-1), r[1][1])) {
                        return [false];
                    }
                }
            }else{
                if(((d.getMonth()+1) + '-' + d.getDate() + '-' + d.getFullYear()) == disabledDaysRange[i]) {
                    return [false];
                }
            }
        }
        return [true];
    }
    $('#date').datepicker({
        dateFormat: 'dd/mm/yy',
        beforeShowDay: disableRangeOfDays
        });
});
</script>

解决方案

To convert you PHP array to JS , you can do it like this :

var js_array = [<?php echo '"'.implode('","',  $disabledDaysRange ).'"' ?>];

or using JSON_ENCODE :

var js_array =<?php echo json_encode($disabledDaysRange );?>;

Example without JSON_ENCODE:

<script type='text/javascript'>
    <?php
    $php_array = array('abc','def','ghi');
    ?>
    var js_array = [<?php echo '"'.implode('","', $php_array).'"' ?>];
    alert(js_array[0]);
</script>

Example with JSON_ENCODE :

<script type='text/javascript'>
    <?php
    $php_array = array('abc','def','ghi');
    ?>
    var js_array =<?php echo json_encode($disabledDaysRange );?>;
    alert(js_array[0]);
</script>

这篇关于PHP数组()的JavaScript阵列()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆