当我运行返回()时"";:"";Javascript中的语法,只有当我将文件保存为PHP


When I run a return () ? "" : "" syntax in Javascript, I receive an error in Google Chrome ONLY when I save the file as a PHP and not as HTML

我是编程新手,偶然发现了一个自己无法解决的错误。我创建了一个HTML文件,其中包含<script>标记,然后是一个运行return () ? "" : ""语法的函数,在我的浏览器中一切都很好。然而,当我在PHP标记中放入完全相同的代码时,我在Google Chrome中收到了上面的错误,上面写着"Uncaught SyntaxError:Unexpected token return",并用return () ? "" : ""语法指定了行。完全相同的代码被保存到PHP文件中,但被<?php ?> tags包围。HTML文件中的代码为:

<!DOCTYPE html>
<html>
  <head>
    <title>An Example </title>
    <script>
      function validateForename(field)
      {
        return (field == "") ? "No Forename was entered.'n" : ""
      }
    </script>
  </head>
</html>

PHP文件中的代码为:

<?php
echo <<<_END
<!DOCTYPE html>
<html>
  <head>
    <title>An Example </title>
    <script>
      function validateForename(field)
      {
        return (field == "") ? "No Forename was entered.'n" : ""
      }
    </script>
  </head>
</html>
_END
?>

有什么想法吗?

PHP中的变量由美元符号和变量的名称表示

参数必须作为$var_name传递。此处缺少$。另请注意,您必须通过; 结束声明

试试这个:

<?php
function sample($name){return ($name == "") ? "None./n" : "";}
    echo 'Hello ', 'World!' , '<br />'.sample('');      
?>

由于您是使用phpechoing整个字符串,它将把'n视为新行。使用''转义该字符。例如:(return (field == "") ? "No Forename was entered.''n" : "")

我想您只是忘记了在变量名之前键入$,在行之后键入分号。您应该使用$name而不是name,并在"之后键入分号。

function sample($name){return ($name == "") ? "None./n" : "";}