【发布时间】:2011-06-11 02:24:22
【问题描述】:
我将在 php 中构建一个弹出式 javascript,如下所示:
$popup_title = array();
$popup_text = array();
$popup_time = array();
$popup_delay = array();
array_push($popup_title, T_gettext("Ready for ..."));
array_push($popup_text, "<a href=\"x.php\">".T_gettext("Click here to...")."</a>");
array_push($popup_time, 3000);
array_push($popup_delay, 6000);
在这里我制作了 javascript 代码:
if(!empty($popup_title)){
//constuct javascript
$popups = array();
foreach ( $popup_title as $key => $title )
{
$popups[$key] = new stdClass();
$popups[$key]->title = $title;
}
foreach ( $popup_text as $key => $text )
{
$popups[$key]->text = $text;
}
foreach ( $popup_time as $key => $time )
{
$popups[$key]->time = $time;
}
//print javascript
echo "
<script type=\"text/javascript\">
$(document).ready(function(){";
foreach ( $popups as $popup ):
echo "
setTimeout(function() {
$.gritter.add("; echo json_encode($popup); echo ");
}, ".($popup_delay");"; // <---------Here I need to place popup_delay
endforeach;
echo "
});
</script>";
这给出了这个 javascript 例如:
<script type="text/javascript">
$(document).ready(function(){
setTimeout(function() {
$.gritter.add({"title":"Ready for..","text":"<a href=\"x.php\">Click here to...<\/a>","time":3000});
}, 0);
});
</script>
我不习惯 foreach。 for 循环会是这样的:
for($n=0; $n < count($popup_delay); $n++){ echo $popup_delay[$n]; }
,但是当我已经使用来自foreach ( $popups as $popup ): 的json_encode($popup) 时,如何使用foreach 遍历$popup_delay 值
【问题讨论】:
-
JSON 将其解码回 PHP 数组? php.net/manual/en/function.json-decode.php
-
可以嵌套
foreach语句
标签: php javascript arrays loops foreach