Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的php变量_Php_Javascript - Fatal编程技术网

javascript中的php变量

javascript中的php变量,php,javascript,Php,Javascript,我有以下php代码: $test = 'abc'; echo '<script type="text/javascript">\n'; echo 'movtitle = ' . $test . ';\n'; echo '</script>'; $test='abc'; 回音'\n'; 回显“movtitle=”$测试";\n′; 回声'; 我试着做一个警报(movtitle),但它没有打印出任何内容。我做错了什么?您缺少movtitle值周围的引号:

我有以下php代码:

$test = 'abc';
echo '<script type="text/javascript">\n';
    echo 'movtitle = ' . $test . ';\n';
    echo '</script>';
$test='abc';
回音'\n';
回显“movtitle=”$测试";\n′;
回声';

我试着做一个
警报(movtitle)
,但它没有打印出任何内容。我做错了什么?

您缺少movtitle值周围的引号:

 echo "movtitle = '" . $test . "';\n";

您缺少movtitle值周围的引号:

 echo "movtitle = '" . $test . "';\n";
你可以试试这个:

echo'movtitle=“”.$test.”\n′

这将创建如下所示的javascript movtitle=“卡萨布兰卡”

还要注意的是\n在单引号内不起作用。

您可以尝试以下方法:

echo'movtitle=“”.$test.”\n′

这将创建如下所示的javascript movtitle=“卡萨布兰卡”


还要注意的是\n在单引号内不起作用。

甚至最好对变量进行JSON编码:

$test = 'abc';
print("<script type=\"text/javascript\">\n");
printf("movtitle = JSON.parse('%s');\n", json_encode($test));
print("</script>");
<?php
  // normal processing
  $test = 'abc';
?>

<script type="text/javascript">
  movtitle = " <?php echo $test; ?>";
</script>";

<?php
 // resume processing
?>
$test='abc';
打印(“\n”);
printf(“movtitle=JSON.parse('%s');\n”,JSON_encode($test));
打印(“”);

使用此解决方案,您可以将多个对象类型传递给javascript。

甚至可以对变量进行JSON编码:

$test = 'abc';
print("<script type=\"text/javascript\">\n");
printf("movtitle = JSON.parse('%s');\n", json_encode($test));
print("</script>");
<?php
  // normal processing
  $test = 'abc';
?>

<script type="text/javascript">
  movtitle = " <?php echo $test; ?>";
</script>";

<?php
 // resume processing
?>
$test='abc';
打印(“\n”);
printf(“movtitle=JSON.parse('%s');\n”,JSON_encode($test));
打印(“”);
使用此解决方案,您可以将多个对象类型传递给javascript。

我会这样做:

<?php
$test = 'abc';
?>

<script type="text/javascript">
    alert('<?php echo $test; ?>');
</script>

警报(“”);
我会这样做:

<?php
$test = 'abc';
?>

<script type="text/javascript">
    alert('<?php echo $test; ?>');
</script>

警报(“”);

你解决这个问题的方法是错误的,颠倒过来的

javascript中根本没有PHP变量。只有一些字符串需要用PHP输出

因此,正确的方法是:

  • 了解您想要的javascript代码。请在此处或谷歌上查询,然后编辑以使其符合您的需要(在本例中添加“abc”以提醒)
    测试,如果有效

  • 编写PHP代码,构建与手动编写的JS相同的JS

  • 3。看看你得到了什么。最重要的部分。不要看PHP代码。始终关注生成的JS代码。找出差异,然后更正PHP代码以消除它们。它只不过是简单的字符串操作


    编辑:看起来你在opt失败了。1.你有纯JS代码工作吗?您的浏览器似乎有问题,而不是PHP。您解决这个问题的方式是错误的,颠倒的

    javascript中根本没有PHP变量。只有一些字符串需要用PHP输出

    因此,正确的方法是:

  • 了解您想要的javascript代码。请在此处或谷歌上查询,然后编辑以使其符合您的需要(在本例中添加“abc”以提醒)
    测试,如果有效

  • 编写PHP代码,构建与手动编写的JS相同的JS

  • 3。看看你得到了什么。最重要的部分。不要看PHP代码。始终关注生成的JS代码。找出差异,然后更正PHP代码以消除它们。它只不过是简单的字符串操作


    编辑:看起来你在opt失败了。1.你有纯JS代码工作吗?您的浏览器似乎存在一些问题,而不是PHP。这里有几个问题:

    首先,您对echo语句使用单引号,因此转义字符不起作用。
    /n
    字符被逐字回显,因此您的输出如下所示:

    <script type="text/javascript">\nmovtitle = abc;\n</script>
    
    movtitle = "abc";
    
    这表示“将变量“abc”的值分配给变量“movtitle”。由于代码中没有变量“abc”,因此该行失败。该行需要如下输出:

    <script type="text/javascript">\nmovtitle = abc;\n</script>
    
    movtitle = "abc";
    
    请注意,我上面的示例代码为您解决了这个问题


    一个更好的选择是根本不在PHP中重复这一点。相反,退出PHP并直接编写原始HTML。您可以快速跳转到PHP中,只需输入变量:

    $test = 'abc';
    print("<script type=\"text/javascript\">\n");
    printf("movtitle = JSON.parse('%s');\n", json_encode($test));
    print("</script>");
    
    <?php
      // normal processing
      $test = 'abc';
    ?>
    
    <script type="text/javascript">
      movtitle = " <?php echo $test; ?>";
    </script>";
    
    <?php
     // resume processing
    ?>
    
    
    movtitle=“”;
    ";
    

    一般来说,最好将PHP处理工作和HTML输出尽可能分开。在PHP中提前完成所有工作,然后
    包含一个模板文件,该模板文件使用与我在上一个示例中显示的相同类型的“填空”PHP变量。

    这里有几个问题:

    首先,您对echo语句使用单引号,因此转义字符不起作用。
    /n
    字符被逐字回显,因此您的输出如下所示:

    <script type="text/javascript">\nmovtitle = abc;\n</script>
    
    movtitle = "abc";
    
    这表示“将变量“abc”的值分配给变量“movtitle”。由于代码中没有变量“abc”,因此该行失败。该行需要如下输出:

    <script type="text/javascript">\nmovtitle = abc;\n</script>
    
    movtitle = "abc";
    
    请注意,我上面的示例代码为您解决了这个问题


    一个更好的选择是根本不在PHP中重复这一点。相反,退出PHP并直接编写原始HTML。您可以快速跳转到PHP中,只需输入变量:

    $test = 'abc';
    print("<script type=\"text/javascript\">\n");
    printf("movtitle = JSON.parse('%s');\n", json_encode($test));
    print("</script>");
    
    <?php
      // normal processing
      $test = 'abc';
    ?>
    
    <script type="text/javascript">
      movtitle = " <?php echo $test; ?>";
    </script>";
    
    <?php
     // resume processing
    ?>
    
    
    movtitle=“”;
    ";
    

    一般来说,最好将PHP处理工作和HTML输出尽可能分开。在PHP中提前完成所有工作,然后
    包含一个模板文件,该模板文件使用与我在上一个示例中显示的相同类型的“填空”PHP变量。

    我认为您必须删除
    \n
    。如何提醒它?美元测试的类型是什么?如果它是字符串,你需要在它周围加引号。你能在javascript中直接使用php变量吗?我想你必须删除
    \n
    。你如何提醒它?美元测试的类型是什么?如果是字符串,你需要在它周围加引号。你能在javascript中直接使用php变量吗?@Zachary我知道,现在太早了,我还没有真正醒过来。@Zachary我知道,现在太早了,我还没有真正醒过来。请注意,你必须关闭php标记。@EquinoX嘿,伙计!您是否启用了JS?请注意,您必须关闭PHP标记。@EquinoX嘿,伙计!您是否启用了JS?