[英]foreach loop in php to construct javascript
我將在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>
我不習慣去學習。 for循環將是這樣的: for($n=0; $n < count($popup_delay); $n++){ echo $popup_delay[$n]; }
for($n=0; $n < count($popup_delay); $n++){ echo $popup_delay[$n]; }
,但是當我已經在foreach中使用json_encode($popup)
foreach ( $popups as $popup ):
時,如何使用foreach循環遍歷$popup_delay
值foreach ( $popups as $popup ):
您只需要為陣列使用單個鍵即可。 因此,除了在PHP中創建多個數組之外,您還可以創建一個多維數組,如下所示:
$javascript_array = array();
$javascript_array[0]['title'] = "Ready for ...";
$javascript_array[0]['text'] = "Click here to...";
$javascript_array[0]['time'] = 3000;
$javascript_array[0]['delay'] = 6000;
您的數組將顯示為:
if ( !empty ( $javascript_array ) ) {
// dump in your <script> piece here
foreach ( $javascript_array as $js_entry ) {
// put in your filler pieces here
echo "Title: ".$js_entry['title'];
echo "Text: ".$js_entry['text'];
echo "Time: ".$js_entry['time'];
echo "Delay: ".$js_entry['delay'];
} // end foreach
// closed </script>
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.