帮助简单的JavaScript php/js数组

nun*_*nos 0 html javascript arrays

有人可以告诉我这段代码有什么问题吗?基本上我正在做的是为一些GET变量创建一个php数组.然后,我从该php数组创建一个js数组并将其传递给js函数.问题是没有调用该函数.我没有看到弹出"hi"警告.

<script type="text/javascript">
function change_values(js_array)
{
    alert("hi");
}
</script>
<?php

$first_date_month   = @$_GET["first_date_month"];
$last_date_month    = @$_GET["last_date_month"];
$resume_date_month  = @$_GET["resume_date_month"];
$pay_date_month     = @$_GET["pay_date_month"];

$first_date_day     = @$_GET["first_date_day"];
$last_date_day      = @$_GET["last_date_day"];
$resume_date_day    = @$_GET["resume_date_day"];
$pay_date_day       = @$_GET["pay_date_day"];

$pay_time_hour      = @$_GET["pay_time_hour"];
$pay_time_minutes   = @$_GET["pay_time_minutes"];

$args = array($first_date_month, $first_date_day, $last_date_month, $last_date_day, $resume_date_month, $resume_date_day, $pay_date_month, $pay_date_day, $pay_time_hour, $pay_time_minutes);

print_r($args);

echo "<script language='text/javascript'>\n";
echo "var js_array = new Array();\n";
foreach($args as $key => $value)
  echo "js_array[$key] = $value;\n";
echo "change_values(js_array)\n";
echo "</script>\n";
Run Code Online (Sandbox Code Playgroud)

一些html源代码可能有助于更好地理解正在发生的事情.

<script type="text/javascript">
function change_values(js_array)
{
    alert("ola");
}
</script>
Array
(
    [0] => 3
    [1] => 99
    [2] => 99
    [3] => 99
    [4] => 99
    [5] => 99
    [6] => 99
    [7] => 99
    [8] => 99
    [9] => 99
)
<script language='text/javascript'>
var js_array = new Array();
js_array[0] = 3;
js_array[1] = 99;
js_array[2] = 99;
js_array[3] = 99;
js_array[4] = 99;
js_array[5] = 99;
js_array[6] = 99;
js_array[7] = 99;
js_array[8] = 99;
js_array[9] = 99;
change_values(js_array);
</script>
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Luk*_*ský 6

事实<script type='text/javascript'>并非如此<script language='text/javascript'>.此外,您可以使用它来序列化数组(但这不是问题):

echo "var js_array = " . json_encode($args) . ";\n";
Run Code Online (Sandbox Code Playgroud)