[英]javascript variable declaration from php array value
我從sql查詢中得到了php中的多維數組。 我很感興趣如何將數組中的第一個值用作javascript中新變量的名稱,並將數組中的第二個值分配為新創建的變量的值。
我試過的是這個
foreach ($language_array as $value) {
echo "<script> var ".$value[0]." = ". $value[1]."; </script>";
}
但是當我嘗試document.write(variable); 那是不確定的。
Array
(
[0] => Array
(
[0] => el1
[1] => Grouping
)
[1] => Array
(
[0] => el2
[1] => Type
)
[2] => Array
(
[0] => el3
[1] => Starting Date
)
[3] => Array
(
[0] => el4
[1] => Ending Date
)
[4] => Array
(
[0] => el5
[1] => Section
)
[5] => Array
(
[0] => el6
[1] => Cell
)
[6] => Array
(
[0] => el7
[1] => Client
)
[7] => Array
(
[0] => el8
[1] => Status
)
[8] => Array
(
[0] => el9
[1] => Article
)
[9] => Array
(
[0] => el10
[1] => Search
)
)
謝謝
歐文
您是否可以使用Alert(variable)代替documenti.write ...,因為當我們將document.write()放在函數中時。 調用該函數時,所有HTML元素都將被覆蓋,並替換為新的指定文本...
不要為每個變量單獨發出<script>
標簽,而是-在循環之前/之后僅發出一次<script>
標簽
現在就這樣-賦值的右側被解釋為另一個變量名,而不是值-這就是為什么您未定義的原因。 您缺少字符串變量值的引號
固定代碼:
$language_array = [
[ 'el1', '"Grouping"'],
[ 'el2', '"Type"' ],
[ 'el3', '"Starting Date"'],
[ 'el4', '"Ending Date"'],
[ 'el5', '"Section"']
];
echo "<script>";
foreach ($language_array as $value) {
echo "var ".$value[0]." = ". $value[1].";";
echo "document.write({$value[0]}+'<br>');";
}
echo "</script>";
您正在編寫如下腳本:
<script> var el1 = Grouping; </script>
這將嘗試使用Grouping
作為變量,但是您希望它是文字字符串。
您應該使用json_encode()
將$value[1]
轉換為JavaScript文字。 如果是PHP字符串,它將添加必要的引號。
foreach ($language_array as $value) {
echo "<script> var ".$value[0]." = ". json_encode($value[1]) ."; </script>";
}
就像另一個答案所說的那樣,雖然我認為它實際上不會在處理方式上有很大的不同,但是沒有必要將每個變量放在自己的腳本中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.