PHP数组()的JavaScript阵列() [英] PHP array() to javascript array()
本文介绍了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屋!
查看全文