2013-10-25 190 views
0

假設我有100行的php變量,我想保存到JavaScript變量。將php變量保存到函數中的變量腳本

$data1; 
$data2; 
$data3; 
$data4; 
... 
$data99; 
$data100; 

我如何保存這些變量的函數,所以我不必手動保存它像:

var data1 = '<?php echo $data1; ?>'; 
... 

將是非常巨大的,如果它是可以解決的。這麼多的工作otherways:/

回答

2

包裝他們成一個對象,然後用

var data = <?php echo json_encode($your_object); ?>; 
+0

我該怎麼做?對此很新穎@adassko – PeterP

0

您可以將它們存儲在一個數組,然後用for循環的PHP填充值的JavaScript數組。

2

沒有用。 PHP是serverside,javascript clientside。當JS被初始化時,PHP就完成了它的工作。但你可以使用AJAX或做一個for-loop並用PHP編寫javascript。

echo "<script>"; 
for($i = 0; $i < 100; $i++){ 
    echo "var data" . $i " = " . $data1 .";"; 
} 
echo "</script>"; 

未經測試。

+0

這會回顯100次相同的變量。 –

+0

你可能是指'$ {'data'。 $ i'}'和'for($ i = 1; $ i <= 100; $ i ++)' – Adassko

+0

arf,是的,當然,只是創建了一個快速代碼而沒有想到。^^ –

0

創建數組變量,然後嘗試使用json_encode

var data = <?php echo json_encode($data); ?>; 
data = JSON.parse(data); 
alert(data['data1']); 
1

如果你的變量是喜歡你貼的那些和變量的數量是已知的,你,你可以簡單地做:

$num_vars = 50; 

for($i=0; $i < 50; $i++) { 
    $tmp_var = "$data$i"; 
    if (is_numeric($tmp_var)) { 
     echo "var myVar$i = $tmp_var;\n"; 
    } else { 
     echo "var myVar$i = '$tmp_var';\n"; 
    } 
} 

請記住使用雙引號。 PHP使用雙引號識別變量。還要測試它是否是數字或字符串,如圖所示。